从另一个类访问函数/属性
本文关键字:属性 函数 访问 另一个 | 更新日期: 2023-09-27 17:56:49
>我在外部库中有一堆类,这不是我正在处理的应用程序的一部分。
由于我的应用程序使用它自己的库,该库还包含许多函数,因此我也想使用外部库中的类/对象。
比方说,我的外部 dll 中有这样的类:
namespace Mydll.ExternalDLL
{
public class ObjectClass
{
public void DoSomething() { }
}
}
由于我不想将外部 dll 引用到我的应用程序,因此我需要从其他地方访问此函数。
所以,我们的想法是在我的内部引用的dll中做这样的事情:
using Mydll.ExternalDLL;
namespace Mydll.InternalDLL
{
public class ObjectClass : Mydll.ExternalDLL.ObjectClass
{
public void DoSomethingElse() { }
}
}
如您所见,我的内部dll中没有名为DoSomething()的函数。当从内部dll调用ObjectClass时,我只想同时访问DoSomething()和DoSomethingElse(),而无需进行一些奇怪的转换,这将导致将两个库都引用到我的应用程序中。内部 dll 将更像是一个扩展包,补充其基础中缺少的功能。
有没有办法实现我想要的,或者我只是对我缺少的一些限制视而不见?
您无法避免引用外部 dll。无论是显式的,还是隐式的,但你必须这样做。如果需要,您可以创建自己的包装器。它有助于更好地控制依赖项。
using Mydll.ExternalDLL;
public class ObjectClassWrapper
{
ObjectClass _objectClass = new ObjectClass();
public void DoSomething()
{
_objectClass.DoSomething();
}
}