属性 或索引器不能作为 out 或 ref 参数传递 Xamarin.Forms (C#)
A property or indexer may not be passed as an out or ref parameter Xamarin.Forms (C#)
我已经通过以下方式在名为 BaseViewModel 的 class 中实现了 INotifyPropertyChanged ....
BASEVIEWMODEL.CS:
public class BaseViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected void SetValue<T>(ref T backingField, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(backingField, value))
{
return;
}
backingField = value;
OnPropertyChanged(propertyName);
}
}
目的是我所有的 ViewModel 都继承自 BaseViewModel 从而回收代码,但是我在创建依赖于属性的 属性 时发现了以下问题
如您所见,我的 GymViewModel 继承自我的 BaseViewModel,我如何创建一个依赖于属性的 属性?我究竟做错了什么?对我有什么帮助吗?
编译器产生错误,因为您将 gimnasios
设为 属性 而不是字段:
private ObservableCollection<Gimnasio> gimnasios { get; set; }
正如编译器所说,您不能将 属性 作为 ref
参数传递。
您可能希望 gimnasios
成为 Gimnasios
属性 的支持 字段 ,因此请将 { get; set; }
替换为分号:
private ObservableCollection<Gimnasio> gimnasios;
我已经通过以下方式在名为 BaseViewModel 的 class 中实现了 INotifyPropertyChanged ....
BASEVIEWMODEL.CS:
public class BaseViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected void SetValue<T>(ref T backingField, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(backingField, value))
{
return;
}
backingField = value;
OnPropertyChanged(propertyName);
}
}
目的是我所有的 ViewModel 都继承自 BaseViewModel 从而回收代码,但是我在创建依赖于属性的 属性 时发现了以下问题
如您所见,我的 GymViewModel 继承自我的 BaseViewModel,我如何创建一个依赖于属性的 属性?我究竟做错了什么?对我有什么帮助吗?
编译器产生错误,因为您将 gimnasios
设为 属性 而不是字段:
private ObservableCollection<Gimnasio> gimnasios { get; set; }
正如编译器所说,您不能将 属性 作为 ref
参数传递。
您可能希望 gimnasios
成为 Gimnasios
属性 的支持 字段 ,因此请将 { get; set; }
替换为分号:
private ObservableCollection<Gimnasio> gimnasios;