मेरे पास एक कक्षा है जो इंटरफेस को लागू करने वाले दो वर्गों को तुरंत चालू करती है। मैं चाहता हूं कि एक वर्ग दूसरे वर्ग को सूचित करे कि कुछ ठीक है। मैं इसे एक एक्शन के साथ कर सकता था और फिर कक्षा में निजी चर का उपयोग करता था लेकिन सोचता था कि क्या गुणों के साथ ऐसा करने का सीधा तरीका है ताकि जब किसी संपत्ति का मूल्य बदलता है तो यह किसी अन्य वर्ग पर एक संपत्ति अपडेट करता है।एक्शन <T> गुणों के बराबर
उदाहरण के लिए:
public class MyClass
{
public ILogger Logger {get;set;}
public ILogic Logic {get;set;}
private Form MyWinform;
public void Setup()
{
MyWinform = new MyWinform();
MyWinform.StartBatch += Logger.CreateFile; //Create file when user presses start
//How can I set a property on ILogic to be AllOk once ILogger says so??
//I could use an Action so that once all is ok I call IDecidedAlOK in ILogger which
//can then assign a private bool variable inside the class
Logic.ItsOKMethodSoSetVariableToTrue = Logger.IDecidedAllOKMethod;
}
public void DataIn(string Value)
{
Logic.DataIn(Value);
}
public void CreateInstances()
{
Logger = new FileLogger();
Logic = new MyLogic();
}
}
public class MyLogic : ILogic
{
public void DataIn(string Value)
{
//I want to check that all is ok before I do anything
//if (!AllOK)
//return;
//Do stuff
}
}
क्या आपके पास आईएलओगर वर्ग है, मेरा मतलब है, क्या आप इसमें बदलाव कर सकते हैं? – Stormenet
क्या 'ILogger' एक 'AllOK' ईवेंट का पर्दाफाश कर सकता है जो 'ILogic' सदस्यता ले सकता है? – mellamokb
@Stormenet हाँ मैं – Jon