相关疑难解决方法(0)

实现INotifyPropertyChanged - 是否存在更好的方法?

微软应该已经实现了一些有趣的东西INotifyPropertyChanged,就像在自动属性中一样,只需指定{get; set; notify;} 我认为这样做很有意义.或者有任何并发​​症吗?

我们自己可以在我们的属性中实现类似'notify'的内容.是否有一个优雅的解决方案,INotifyPropertyChanged在您的班级实施或唯一的方法是通过提高PropertyChanged每个属性中的事件.

如果没有,我们可以写一些东西来自动生成一段代码来引发PropertyChanged 事件吗?

.net c# inotifypropertychanged winforms

621
推荐指数
14
解决办法
29万
查看次数

你见过的扩展方法最好或最有趣的用途是什么?

我开始非常喜欢延伸方法......我想知道是否有人偶然发现了一个真正引起他们注意的人,或者只是发现了聪明.

我今天写的一个例子:

由于其他用户的评论而编辑:

public static IEnumerable<int> To(this int fromNumber, int toNumber) {
    while (fromNumber < toNumber) {
        yield return fromNumber;
        fromNumber++;
    }
}
Run Code Online (Sandbox Code Playgroud)

这允许将for循环写为foreach循环:

foreach (int x in 0.To(16)) {
    Console.WriteLine(Math.Pow(2, x).ToString());
}
Run Code Online (Sandbox Code Playgroud)

我迫不及待想看其他例子!请享用!

.net c# extension-methods syntactic-sugar

71
推荐指数
14
解决办法
1万
查看次数

实现INotifyPropertyChanged的模式?

我已经看到用于实现INotifyPropertyChanged的以下模式

private void NotifyPropertyChanged(string propertyName)
{
    PropertyChangedEventHandler handler = PropertyChanged;
    if (handler != null)
    {
        handler(this, new PropertyChangedEventArgs(propertyName));
    }
}

public event PropertyChangedEventHandler PropertyChanged;
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释var handler = PropertyChanged赋值在检查null之前的必要性与直接检查PropertyChanged == null吗?

谢谢

.net inotifypropertychanged

7
推荐指数
1
解决办法
1685
查看次数