假设出现这种情况:
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
。
答案 0 :(得分:2)
继承自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();