[英]How to extend the methods of dll to a class with same name?
假设这种情况:
DLL具有名称空间Users
和类User
。
现在在我自己的程序中,我具有与Test
不同的名称空间,但具有与DLL User
相同的类名。
通常为避免这种情况,我使用别名,因此:
using UserDLL = Users.User;
namespace Test
{
class User : Tenant
{
public void doSomething()
{
UserDLL.AddUser(); //call dll method
}
}
}
但是有一种方法可以直接在类中包含dll方法? 所以我可以只调用User.AddUser()
吗?
更新
一个可能的解决方案是从dll类继承,但是如果我已经有一个类继承,该怎么办? 例如, User
继承Tenant
。
继承自Users.User(推荐),或考虑为其创建扩展方法,而不要使用单独的类。
继承方法:
namespace Test {
public class User : Users.User
{
public void DoSomething(){}
}
}
...扩展方法:
public static class UserExtensions{
public static void DoSomething(this Users.User user)
{
var val = user.AddUser();
}
}
//then you can do something like this:
var u = new Users.User();
u.DoSomething();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.