C#使用组件或类库有什么区别?

C#使用组件或类库有什么区别?,c#,dll,C#,Dll,我很难理解这些区别是什么。对我来说,使用从类库构建的.dll的实际行为与从组件创建的.dll相同 在这两种方法中,我首先创建一个类库并添加一个或一个类。NET中的所有组件都继承自MarshalByRefObject,这给它带来了很多负担。此类主要用于在.NET和COM之间封送数据,但也用于.NET 2.0中引入的一些较旧的远程处理技术 简而言之,MarshallByRefObject允许运行时将消息接收器插入到对象中,从而有效地拦截方法和属性调用 一般来说,不要继承或使用继承自组件和或Marsh

我很难理解这些区别是什么。对我来说,使用从类库构建的.dll的实际行为与从组件创建的.dll相同


在这两种方法中,我首先创建一个类库并添加一个或一个类。

NET中的所有组件都继承自
MarshalByRefObject
,这给它带来了很多负担。此类主要用于在.NET和COM之间封送数据,但也用于.NET 2.0中引入的一些较旧的远程处理技术

简而言之,
MarshallByRefObject
允许运行时将消息接收器插入到对象中,从而有效地拦截方法和属性调用

一般来说,不要继承或使用继承自
组件
和或
MarshalByRefObject
的对象,除非必须这样做


在提问之前,你们并没有读过这一章吗?或者,以防他德语不流利:组件只是一个实现IComponent的类。几乎总是从组件类继承。这在设计时为它提供了额外的功能。它将显示在工具箱中,您可以将其放到窗体上,并在“属性”窗口中编辑其属性。可能有用,但并不总是如此。如果您没有在Winforms应用程序中使用它,当然不会。谢谢您的回答!总结一下我的理解:1。组件是一个类,我赋予它在设计时使用的特殊能力2.设计时间(仅?)存在于表单、用户控件和组件中,允许我在…Designer.cs中可视化地构建代码。换句话说,为简单控制台应用程序创建组件毫无意义?!//3.无论如何,我可以像对待简单类一样对待组件,但只需要一点额外的东西,就可以在设计器中使用它。