c# - 创建抽象类的对象。怎么可能

标签 c# .net abstract-class

为什么可能? :

BitmapSource i = Imaging.CreateBitmapSourceFromHBitmap(...);

我正在写一些应用程序,我发现这一行并且很困惑,因为 MSDN 说 BitmapSource 是抽象类。

最佳答案

BitmapSource 是一个抽象类,因此不能直接创建,但是 Imaging.CreateBitmapSourceFromHBitmap 返回一些具体类,BitmapSource 继承,因此可以“转换”为 BitmapSource

这类似于拥有一个抽象的 Animal 类,但是有一个继承自它的具体的 Giraffe 类:

Animal a = new Animal();  // illegal
Animal a = Zoo.CreateAnimalFromName("Giraffe"); // valid - returns a Giraffe instance

关于c# - 创建抽象类的对象。怎么可能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23206449/

相关文章:

c# - Excel 互操作加载 XLL 和 DLL

c++ - 编译器生成的抽象基类的析构函数是虚拟的吗?

c# - XML版本程序

c# - Entity Framework 6.0.1 不必要地转换 smallint

c# - 如何从 "System.Drawing.Color"字符串中获取 System.Type

C++ - 无法实例化抽象类

objective-c - 类名含义后的人字形语句

c# - 在静态方法中使用匿名lamba订阅事件会导致内存泄漏吗?

c# - 为什么标识规范给出错误结果 SQL Server (asp net)

c# - 我如何强制禁用元素的 wpf 窗口/控件刷新