当前上下文中不存在名称“Set”。在我的模型课中

时间:2016-11-15 12:56:07

标签: c# uwp template10

我收到错误我的模型类中的当前上下文中不存在名称“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); } }

    }
}

2 个答案:

答案 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,所以你最好测试一下。