c# - .NET 将对象转换为...对象的目标是什么?

标签 c# .net mvvm-light

我正在阅读 MvvmLight 的源代码,我在 ViewModelBase.cs 中看到了这个函数:

protected virtual void RaisePropertyChanged(string propertyName)
{
    PropertyChangedEventHandler changedEventHandler = this.PropertyChanged;
    if (changedEventHandler == null)
        return;
    changedEventHandler((object) this, new PropertyChangedEventArgs(propertyName));
}

我不明白为什么这里有类型转换,但因为这个功能在 MvvmLight 中很关键,我猜这样做有一个好处......

最佳答案

如果您通过 Reflector 查看代码,您总会看到类似这样的奇怪内容,因为 Visual Studio 允许您采用编译器为您制定的捷径,例如传递类型作为对象而不将其转换为对象。

但是为了回答您的问题,事件处理程序需要一个对象,因此它将 this 作为 (object) 传递

关于c# - .NET 将对象转换为...对象的目标是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310445/

相关文章:

c# - 使用 Autofac 进行非注册类型初始化

c# - 将 null 分配给类的实例和仅声明之间有什么区别

.net - SSIS 脚本组件 - 仅在 Debug模式下工作

.net - EF5 CF - 更新附加对象

c# - 使用 .NET 4 和 C# 开发我需要什么版本的 Windows?

mvvm - MVVM Light Messenger-发送和注册对象

Mvvm-light 和 Common Service Locator 1.4.0

时间:2019-03-17 标签:c#exclusionhyphenfromdirectory.getdirectories

c# - 如何将 RelayCommand 与 MVVM Light 框架一起使用

c# - 为什么我不能将一个游戏对象分配给另一个游戏对象的公共(public)变量