我收到错误我的模型类中的当前上下文中不存在名称“Set”。
我从T10_Property片段生成属性。
以下是源代码。
using PropertyChanged;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Template10.Mvvm;
using Template10.Services.NavigationService;
using Template10.Utils;
using Windows.UI;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
namespace Models
{
[ImplementPropertyChanged]
public class WiFiAccessPoint
{
string _SSID = default(string);
public string SSID { get { return _SSID; } set { Set(ref _SSID, value); } }
}
}
答案 0 :(得分:2)
你得到这个的原因是由于不的继承基类在这种情况下使用ViewModelBase
用于视图模型或BindableBase
用于模型或ValidatableModelBase
,用于Template10.Validation
库的验证所需模型。相反,你在使用Fody? (使用AUTO属性btw
[ImplementPropertyChanged]
public class SomeViewModel{
public bool SomeBoolProperty {get;set;} // no backers required..
}
)或某些可注入的propertychange属性系统,它不知道Set()
。也许是时候阅读基于属性的进样器的手册了吗?
因此,您无权访问Set()
。
答案 1 :(得分:2)
如果你这样做
[ImplementPropertyChanged]
public class WiFiAccessPoint: ViewModelBase
{
string _SSID = default(string);
public string SSID { get { return _SSID; } set { Set(ref _SSID, value); } }
}
它会起作用。但是你正在编织IL,所以你最好测试一下。