- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码,其中有一个“PropertyChangedEventHandler”。我看到它有一个属性 PropertyChangedEventHandler,但我没有看到它调用“new PropertyChangedEventHandler”的任何地方?我是否需要在不需要时“清空”引用?
public abstract class MyClass: INotifyPropertyChanged
{
public event PropertyChangedEventHandler eventHandler;
}
最佳答案
当您声明一个事件时,编译器会自动创建一个目标委托(delegate)类型的支持字段和两个包装方法,称为“添加”和“删除”。当您订阅该事件时,“添加”方法将在内部调用,如果尚未创建,它会创建底层委托(delegate)的实例(在本例中为 PropertyChangedEventHandler)。
当您取消订阅该事件时,将在内部调用“remove”方法。如果没有更多订阅者,底层委托(delegate)字段在“remove”方法中自动设置为 null。所以你不需要明确地将它设置为 null 。
这就是您需要在引发事件之前检查空引用的原因,因为如果没有订阅者,基础字段将为空。
关于c# - 如何在 C# 中创建和释放 PropertyChangedEventHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31551520/
我从 MVVM 开始。 我的应用程序使用这种“模式(PM 模式——我们不要在这里讨论这个:))”并且工作正常;该项目非常简单,据说对于初学者来说很容易掌握!如果只是... :) 有一件事让我感到困惑,
PropertyChangedEventHandler 是如何使用的?你能告诉我类的 Initalize 方法中的这段代码是做什么的吗?我们正在处理的项目中有一个类具有私有(private) Init
所以我已经将事件设置为一个类 void item_PropertyChanged(object sender, PropertyChangedEventArgs e) { }
在我的 UI 代码中,我有很多具有相同基本框架的类: 派生自 INotifyPropertyChanged 包含以下代码: void NotifyPropertyChanged(String info
我在 xamarin.forms 中创建了 Android 应用程序,但问题是 PropertyChangedEventHandler 导致内存泄漏。 我的代码: protected virtual
我有以下类将作为绑定(bind)源: public class Timeline : Canvas, INotifyPropertyChanged { public static readonly
这是一个非常简单的问题,但我想知道是否有人可以解释第 4 行实际上在做什么?所以第一行给处理程序一个事件。我真的不知道在什么情况下处理程序会返回 null 或最后一行的作用。 当您将对象和更改的属性传
现在的问题是,
当我观察变量时,我的 PropertyChanged 事件已正确设置,但在代码的某处它被重置为 null,我不知道如何找出发生这种情况的位置。 代码如下: public event PropertyC
我的 WPF 应用程序中有一个属性,我试图将其绑定(bind)到 UI。当我直接在 View 模型中更新属性时,它会按预期工作。但是,当我尝试使用事件从另一个类中更新此属性时,绑定(bind)似乎不起
我对 INotifyPropertyChanged 的 PostSharp 实现没有什么问题。 PostSharp 在编译时添加了 PropertyChangedEventHandler Proper
我认为两者是一样的,但为什么两者都用在同一个方法中呢?我认为有一点不同。下面是一些代码来显示两者之间的区别: private void LoadItemListing() { _items =
我有以下代码,其中有一个“PropertyChangedEventHandler”。我看到它有一个属性 PropertyChangedEventHandler,但我没有看到它调用“new Proper
到目前为止,我的模型实现了 INotifyPropertyChanged,并且每个属性都会引发此事件。几乎所有 ViewModel 都通过 PropertyChangedEventHandler 监听
文章http://msdn.microsoft.com/en-us/magazine/dd419663.aspx具有以下代码示例: public event PropertyChangedEventH
我已经在下面的类中实现了 INotifyPropertyChanged public class FactoryItems : INotifyPropertyChanged {
我做了一个小项目来学习一点关于 MVVM 的知识。这是一个计算器,可以计算您何时可以下类回家。 我做了一个UserControl有两个文本框和一个标签作为简单的“时间选择器”。这个 Usercontr
我正在尝试使用 C# 和 XAML 遵循 MVVM 设计范例。我遇到了嵌套用户控件的问题。我正在尝试将嵌套用户控件上的元素绑定(bind)到 ViewModel 中的一个值(通过 DataContex
在我的 WPF 应用程序中,我实现了 LINQ to SQL 查询,该查询填充与 ListView 连接的 Observable 集合。正是在这个方法中,我可以从某个地方调用它,它工作正常: priv
我正在按照建议开发 wcf 服务 here .它解决了我最初在开发原始 .NET 2.0 Web 服务时遇到的 namespace 冲突问题,但我又遇到了另一个问题。 我试图传递给 wcf 服务的对象
我是一名优秀的程序员,十分优秀!