C#下如何让命名空间别名operator::生效?当我引用两个具有相同命名空间和类型名称的外部程序集时,我遇到了一种不太可能的情况。当我尝试使用该类型时,编译器会抛出一个错误,指出它无法解析我想要使用的类型。我看到C#提供了一种别名引用机制。您甚至可以通过VisualStudio2008中的引用属性窗口指定这些别名。如何在我的代码中使用这个别名?据我所知,我应该使用::运算符,但它失败并出现以下错误:CS0432-AliasnotTheusual。运算符发现也失败了。在输出窗口中,我看到编译器在其命令行上正确传递了别名。非常感谢任何关于我下一步可能尝试的指示。外部别名alias1;使用alias1::命名空间;试试这个:外部别名asm1;外部别名asm2;namespaceClient{classProgram{staticvoidMain(string[]args){asm1.MyNs.MyClassmc1=null;asm2.MyNs.MyClassmc2=null;}}}并添加global,asm1到assembly1和global,asm2到项目引用global,asm2为assembly2我认为你需要使用外部别名。AnsonHorton有一篇很好的博客,介绍了这个问题以及如何使用外部别名修复它。当您在项目中引用程序集时,它有一个默认别名“global”。当您向该程序集添加另一个别名时,例如“global,AssemblyA”,您可以这样引用它:usingSomeTypeAlias=AssemblyA::Company.Product.SomeType;或者:aliasoperator::在C#下工作吗?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——voidSomeMethod(AssemblyA::Company.Product.SomeTypesomeType){...}本文收集自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
