All streams
Search
Write a publication
Pull to refresh
-1
0
Send message
Этого свойства не достаточно для однозначного определения модуля. f(x)=1 обладает ровно таким же свойством.
Увы, передергивания и откровенная лажа начинается уже с истории гражданской войны в США.
В данном случае производительность должна быть не «о ужас, ужас» — этого уже достаточно, т.к. reflection при байндинге более узкое место по производительности. Конечно, INPC — это абсолютно точно реализация аспекта императивным программированием. Но пока, увы ни C#, ни VS, как платформа разработки, недружественны к AOP.
однако, если переписать так, то разница будет абсолютно приемлимые 10%:
 
       staticExpression<Func<LambdaNPC, string>> MyPropertyExpression = o => o.MyProperty;
        private string _MyProperty;
        public string MyProperty
        {
            get { return _MyProperty; }
            set
            {
                if (_MyProperty == value)
                {
                    return;
                }
                _MyProperty = value;
                RaisePropertyChanged(MyPropertyExpression);
            }
        }

        void RaisePropertyChanged<T>(Expression<Func<LambdaNPC, T>> raiser)
        {
            var e = PropertyChanged;
            if (e != null)
            {
                var propName = ((MemberExpression)raiser.Body).Member.Name;
                e(this, new PropertyChangedEventArgs(propName));
            }
        }
Отставить тревогу. Разница есть.
Полный код теста в студию, плз. У меня особой разницы между Manual и Lambda нет.

Information

Rating
Does not participate
Registered
Activity