是否可以更改dll的命名空间
本文关键字:dll 命名空间 是否 | 更新日期: 2023-09-27 18:20:04
我在PocketPc工作,它有一个库(System.data
)和(System.data.sqlclient
)那么它们不是完整的库,那么我需要使用System.data
(完整的库),但现在我有2个dll的调用(System.data
)并且整个库也有System.data.sqlclient
,那么我对它们有问题,所以如果我只使用完整库,我有另一个问题,因为System.data
(无完整库)有一个System.data
(完整库)没有的东西,所以我需要使用两个dll(具有相同的命名空间),我有问题。。。
请参阅MSDN中的外部别名和在visual studio中使用它们的教程。
从命令行编译器中,引用被声明为:
/r:SystDataOfficial=System.Data.dll
/r:SystDataOther=data.dll
然后在你的代码中:
extern alias SystDataOfficial;
extern alias SystDataOther;
var c = new SystDataOfficial::System.Data.SqlClient();
您也可以只将其中一个dll作为别名,并使用另一个正常的
请注意,这些类型不能一起使用。此代码不起作用:
// Expect SystDataOfficial::SomeConstant
SystDataOfficial::System.Data.SqlClient.SomeMethod(SystDataOther::SomeConstant);
是,请参阅
MSDN 上的外部别名(C#参考)
但它们仍然是不同的类型,您将无法将其中一个创建的对象传递给另一个中的方法。