上周我与朋友讨论了使用 DLL(.net DLL) 中的类。我有一个 .net DLL,我需要在我的 Exe 中使用它。
一般,
- 我在我的解决方案中添加 DLL 并在我的 Exe 中引用 DLL
- 创建类的对象(在我的 DLL 中)
- 从刚刚创建的对象开始调用类中的方法/函数。
但最终决定,我们应该使用反射而不是我们正在做的方式。原因是松耦合。可以更改 DLL 中的功能并对其进行编译。在这种情况下,您不需要编译客户端代码。
我有一个关于这个背景的问题。
假设,我有一个非常简单的应用程序(比如控制台应用程序),并且我有两个类都被编写来完成不同的工作。
class Program
{
static void Main()
{
//How do you create a object of the class A.
}
}
class A
{
string A = "I am from A";
public B b;
public A
{
b = new B();
}
}
class B
{
string B = "I am from B";
public B
{
}
public void Print()
{
Console.WriteLine(B);
}
}
当所有三个类都相同的exe时如何创建A类的对象,当A类和B类在不同的DLL中时如何创建相同的对象。
问题第二部分的一个答案是使用接口和使用反射。
反射是否真的需要,或者它是一种编程标准。
创建类的对象的最佳实践是什么。