当前上下文中不存在名称'PropertySupport'



我想为observableObject创建一个基类,足够用于派生可观察对象,但是我遇到了一些技术问题。这是该课程的节选。它是一个抽象实现接口INotifyPropertyChanged。但是当我尝试使用PropertySupport。ExtractPropertyName,我得到编译器错误说'PropertySupport'不存在于当前上下文中。我用的是VS2002。我的意图是创建一个库来承载我自己的一个小"框架",并将其用于不同的项目。有没有人更精通反射指出什么是错误的在我的代码,导致编译器错误?

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Linq.Expressions;
    using System.Text;
    using System.Threading.Tasks;
    using System.Diagnostics;
    namespace MyFramework
    {
        [Serializable]
        public abstract class ObservableObject: INotifyPropertyChanged
        {
            [field: NonSerialized]
            public event PropertyChangedEventHandler PropertyChanged;
            protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
            {
                var handler = this.PropertyChanged;
                if (handler!=null)
                {
                    handler(this, e);
                }
            }
            protected void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression)
            {
                var propertyName = PropertySupport.ExtractPropertyName(propertyExpression);
                this.RaisePropertyChanged(propertyName);
            }
            protected void RaisePropertyChanged(String propertyName)
            {
                OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
            }
   }
}

你得到的错误通常是指缺少using指令或缺少引用。

查看MSDN中您试图使用的函数,看起来您缺少using指令Prism。ViewModel

using Microsoft.Practices.Prism.ViewModel;

如果这不能解决您的问题,那么您需要添加对正确dll的引用

Microsoft.Practices.Prism.Composition.dll

我从未使用过Prism,但在复制您的类后,添加正确的引用&使用指令构建ok.

相关内容

  • 没有找到相关文章

最新更新