在C#中,将信息从子对象传递到父对象的最佳方法是使用事件和委托。
以下是一个简单的示例:
// 子对象
public class ChildObject
{
public event EventHandler<DataUpdatedEventArgs> DataUpdated;
private void OnDataUpdated(string data)
{
DataUpdated?.Invoke(this, new DataUpdatedEventArgs(data));
}
public void UpdateData(string data)
{
// 更新数据
OnDataUpdated(data);
}
}
// 事件参数
public class DataUpdatedEventArgs : EventArgs
{
public string Data { get; }
public DataUpdatedEventArgs(string data)
{
Data = data;
}
}
// 父对象
public class ParentObject
{
private ChildObject _childObject;
public ParentObject()
{
_childObject = new ChildObject();
_childObject.DataUpdated += OnDataUpdated;
}
private void OnDataUpdated(object sender, DataUpdatedEventArgs e)
{
string data = e.Data;
// 处理数据更新
}
}
在这个示例中,ChildObject
类定义了一个 DataUpdated
事件,用于通知父对象数据已更新。ParentObject
类创建了一个委托 OnDataUpdated
,用于处理子对象的事件。当子对象调用 OnDataUpdated
方法时,父对象会收到通知,并可以获取所需信息。
领取专属 10元无门槛券
手把手带您无忧上云