How do I use an Interface or Abstract class in C#? 
已向我提供第三方DLL。
我第一次尝试启动对象是这样的:
| 1
 | TestClass MyClass = new  TestClass(); | 
但是Visual Studio告诉我使用该接口。
我以前从未做过,也不知道从哪里开始。
错误:
The Type 'MyClass.blabla' has no constructors defined Interope type
  'MyClass.Subclass' cannot be embedded. Use the applicable interface
  instead.
号
		
		
- 它告诉你使用什么接口?你能把问题的确切错误信息贴出来吗?
- 只要第三方dll提供接口,否则可以使用var关键字
- 这是一个COM API吗?
- 类型"myClass.blablabla"没有已定义的构造函数互操作类型"myClass.subclass"不能嵌入。而是使用适用的接口。
 
	 
这可能是因为您使用的是COM类。如果是这样,你很可能会写:
| 1
 | ITest myTest = new  TestClass(); | 
COM包装器经常通过名为TestClass的组件类公开ITest接口。但是,在使用COM时,(按设计)通常只针对接口(ITest编写),不希望直接针对实现编写。
它可能为您提供某种初始化方法,或者作为构造函数传递。不能像尝试的那样(即调用构造函数)实例化抽象类或接口。
 
这完全取决于如何声明TestClass。如果testclass是abstract,则不能直接创建其实例,而是必须从testclass的Derived类中的一个创建实例。
| 1
 | TestClass test = new  TestClassDerived(); | 
哪里
| 12
 3
 4
 
 | class TestClassDerived : TestClass{
 
 }
 | 
号
		
		
- 我尝试过这个方法,但它希望我在testclassderived中实现所有的testclass函数。有几百个。我只想访问已经在DLL中的函数。
- 如果有100种方法,你必须写出来!这就是面向对象编程的工作原理。
- Visual Studio会生成所有需要的方法,因此,如果只需要使用现有的非抽象方法,就不必担心了。