问题描述
比如我想在一个命名空间中添加一个别名我引用这个空间的时候就可以用这个别名
解决方案
解决方案二:
http://msdn.microsoft.com/en-us/library/aa664765(v=vs.71).aspx
解决方案三:
引用1楼devmiao的回复:
http://msdn.microsoft.com/en-us/library/aa664765(v=vs.71).aspx
这个不是啊
解决方案四:
就比如int的别名是怎么实现的?
解决方案五:
关于类别名的问题,楼上的回答是正确的usingConsoleAlias=System.Console;//注意System.Console是个类,不是一个命名空间classProgram{staticvoidMain(string[]args){ConsoleAlias.WriteLine("HelloWorld!");//这里使用的是类别名}}然后我理解,你想要的效果是在类库中定义一个类型,你实际定义的类型名称和你最终想让用户看到的类型名称不一样,而之前的解决方案的效果不是这样的,之前的解决方案中用户还是知道你定义的类型名称的。首先,这个需求本身不被语言支持,然后,其实你可以通过代理或者其他方法来隐藏你的类型。关于Int32和int是同一种类型的定义不是语言支持的,我理解int和Int32是在预编译器中实现的,在C#开发语言中是不能实现的。
解决方案六:
引用4楼phoenix8343_cn的回复:
关于类别名的问题,楼上的回答是正确的usingConsoleAlias=System.Console;//注意System.Console是个类,不是一个命名空间classProgram{staticvoidMain(string[]args){ConsoleAlias.WriteLine("HelloWorld!");//这里使用的是类别名}}然后我理解,你想要的效果是在类库中定义一个类型,你实际定义的类型名称和你最终想让用户看到的类型名称不一样,而之前的解决方案的效果不是这样的,之前的解决方案中用户还是知道你定义的类型名称的。首先,这个需求本身不被语言支持,然后,其实你可以通过代理或者其他方法来隐藏你的类型。关于Int32和int是同一种类型的定义不是语言支持的,我理解int和Int32是在预编译器中实现的,在C#开发语言中是不能实现的。
我的意思是,比如有个namespaceA和一个namespaceB。我在A中声明一个别名,如何能在B中使用这个别名
解决方案七:
问题没描述清楚给什么东西定义别名?是给命名空间定义别名,还是给类定义别名,还是给变量定义别名,还是给函数定义别名??
解决方案八:
引用3楼ycs89412的回复:
就比如int的别名是怎么实现的?
在文件头部加上usingintAlias=System.Int32;然后在代码里就可以用intAlias来代替int了如intAliasi=0;
解决方案九:
可以在文件头部加上usingusing别名=原完整的空间名
解决方案十:
引用6楼Z65443344的回复:
问题没描述清楚给什么东西定义别名?是给命名空间定义别名,还是给类定义别名,还是给变量定义别名,还是给函数定义别名??
这个有区别吗……
解决方案十一:
引用7楼gxingmin的回复:
Quote: 引用3楼ycs89412的回复:
就比如int的别名是怎么实现的?在文件头部加上usingintAlias=System.Int32;然后在代码里就可以用intAlias来代替int了如intAliasi=0;
我的意思是,比如有个namespaceA和一个namespaceB。我在A中声明一个别名,如何能在B中使用这个别名是在B中引用就像int一样,我并没有声明int的别名,但我却可以用
解决方案十二:
引用8楼yuekunge的回复:
可以在文件头部加上usingusing别名=原完整的空间名
我的意思是,比如有个namespaceA和一个namespaceB。我在A中声明一个别名,如何能在B中使用这个别名是在B中引用就像int一样,我并没有声明int的别名,但我却可以用
解决方案十三:
你是没声明int的别名,但是int是在system命名空间下的你引用了system,就可以直接访问system下的类了而在system下给int32起别名叫int,你也就可以直接用了
解决方案十四:
引用11楼ycs89412的回复:
Quote: 引用8楼yuekunge的回复:
可以在文件头部加上usingusing别名=原完整的空间名我的意思是,比如有个namespaceA和一个namespaceB。我在A中声明一个别名,如何能在B中使用这个别名是在B中引用就像int一样,我并没有声明int的别名,但我却可以用
你是没声明int的别名,是因为int是在system命名空间下的程序默认是引用了system的,所以就可以直接访问system下的类了而在system下给int32起别名叫int,所以你也就可以直接用了。你也完全另外封装一个DLL了,里面就一个你其他类的属性了···
解决方案十五:
那是需要先自己封装吧
解决方案:
引用13楼yuekunge的回复:
Quote: 引用11楼ycs89412的回复:
Quote: 引用8楼yuekunge的回复:
可以在文件头部加上usingusing别名=原完整的空间名我的意思是,比如有个namespaceA和一个namespaceB。我在A中声明一个别名,如何能在B中使用这个别名是在B中引用就像int一样,我并没有声明int的别名,但我却可以用
你是没声明int的别名,是因为int是在system命名空间下的程序默认是引用了system的,所以就可以直接访问system下的类了而在system下给int32起别名叫int,所以你也就可以直接用了。你也完全另外封装一个DLL了,里面就一个你其他类的属性了···
对就这个,我怎么能把别名封装在一个DLL或者一个命名空间中啊?我在命名空间A中声明一个别名,但是在命名空间B中无法引用这个别名啊~
解决方案:
引用14楼tianlongfeifei的回复:
那是需要先自己封装吧
对就这个,我怎么能把别名封装在一个DLL或者一个命名空间中啊?我在命名空间A中声明一个别名,但是在命名空间B中无法引用这个别名啊~
解决方案:
引用12楼Z65443344的回复:
你是没声明int的别名,但是int是在system命名空间下的你引用了system,就可以直接访问system下的类了而在system下给int32起别名叫int,你也就可以直接用了
对就这个,我怎么能把别名封装在一个DLL或者一个命名空间中啊?我在命名空间A中声明一个别名,但是在命名空间B中无法引用这个别名啊~
解决方案:
你在B中需要先引用A啊
解决方案:
添加引用啊·······