[英]Get reference from object to other
以下是我的代碼塊:
class MyClass: INotifyPropertyChanged
{
ClearPendingBill cpb;
public ClearPendingBill CPB
{
get { return cpb; }
set
{
cpb = value;
RaisePropertyChanged("CPB");
}
}
}
public partial class ClearPendingBill : UserControl, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, string propertyName)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
double _selected_pending_amt = 0;
public string SelectedPendingAmount
{
get { return "₹ " + string.Format("{0:0,0.00}", _selected_pending_amt); }
set
{
SetField(ref _selected_pending_amt, Convert.ToDouble(value), "SelectedPendingAmount");
}
}
}
在上面的代碼中,在MyClass內部創建了ClearPendingBill對象。 是否有可能以某種方式從ClearPendingBill對象引用MyClass對象?
當然,您必須在構造時通過它,或通過ClearPendingBill
上的其他方法來傳遞它。
如果您寫了:
ClearPendingBill cpb = new ClearPendingBill(this);
它將為擁有對象提供一個引用(當然,您需要一個構造函數來處理它)。 MyClass
上的靜態方法始終可以訪問(只要它們是公共的)。
正如所寫的那樣,沒有辦法獲得擁有的對象。
並非沒有反向引用,因為該對象可能包含多個(或不包含)對象。
我假設您要通知包含類屬性已更改。 一種方法是讓MyClass
為ClearPendingBill
類的PropertyChanged
事件添加一個處理程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.