是否可以使用.net类型声明别名?在C#中,如果是的话如何?是否可以使用.net类型声明别名?
回答
例如:
using MatchBuilderFactoryFunc = System.Func<
IndexerBase.RequestMatching.RequestFreeTextAnalyzeParameter,
System.Collections.Generic.IEnumerable<
IndexerBase.RequestMatching.IMatchBuilder>>;
而且毕竟用它作为简单类型:
MatchBuilderFactoryFunc f = ...
+1,从来没有考虑过用这种方式 – 2010-02-20 15:26:13
是,using能做到这一点
using q = System.Int32;
using XDoc = System.Xml.Linq.XDocument;
然而,只有它为了汇编而存活一个C#文件。你不能导出这个别名。
正如其他人所说的,使用“using alias = type;”使用指令的形式。几件事情:
1)它必须是文件或命名空间中的第一件事。 (除非你有extern alias指令当然;它们在使用指令之前。)
2)别名不是真正的类型。很多人希望看到:
using PopsicleCount=System.Int32;
using GiraffeCount=System.Int32;
...
PopsicleCount p = 123;
GiraffeCount g = p; // ERROR, can't convert a count of giraffes into a count of popsicles
但我们不支持该功能。这是一个真正的别名;当我们看到它时,我们只是将alising类型替换为别名标识符; p和g都是int类型的。
3)别名仅适用于其出现的文件或名称空间声明。如果要在程序中的每个文件中使用别名,则必须将其写入程序的每个文件中。
4)别名不能在别名名称侧进行参数化,尽管它们可以是类型端的通用类型。也就是说,这是合法的:
using GiraffeList = System.Collections.Generic.List<Giraffe>;
但这不是:
using Frobtionary<T> = System.Collections.Generic.Dictionary<Frob, T>;
你是对的我真的想要2)在你的名单上。 – 2017-05-30 04:05:41
- 1. 是否可以在XAML中声明一个类型别名?
- 2. 是否有可能使用C++ 11中的前向声明类声明嵌套类型别名?
- 3. 是否可以在使用声明中消除冲突的类型名称?
- 4. 是否可以在Golang类型声明中使用反射数组类型?
- 5. Typescript:是否可以引用类型别名
- 6. 在声明它们之前是否可以使用数组和空类型?
- 7. 是否可以使用记录语法来声明受限数据类型?
- 8. .net中是否可以通过类字符串名称声明变量,但没有直接的类名?
- 9. 我可以在预先声明的类中使用类型吗?
- 10. 是否可以使用.NET泛型类实现COM接口?
- 11. 是否可以更改匿名类型?
- 12. C#匿名类型声明
- 13. 是否可以使用search.luceneSearch与以前声明的变量?
- 14. 你可以声明一个可变长度的泛型类型声明吗?
- 15. 可能在声明中使用匿名类型成员吗?
- 16. 是否可以在类中创建虚拟类声明?
- 17. 是否可以声明到mysql查询?
- 18. 是否可以在Puppet中“声明”?
- 19. 是否可以在接口声明中声明一个超类的链?
- 20. 是否可以获取泛型类型的类型名称?
- 21. 是否可以使用匿名类型进行数据绑定?
- 22. 是否可以转发声明名称空间内的typedef?
- 23. 是否可以命名AspectJ声明的警告?
- 24. 是否有可能在javascript中声明参数类型?
- 25. 使用泛型类型时使用“未声明的类型名称”
- 26. 是否可以使用循环来声明变量?
- 27. 是否可以使用css3声明js事件和/或函数?
- 28. 是否可以删除使用const声明的变量?
- 29. 是否可以强制JavaScript在使用前声明变量?
- 30. 用'def'声明一个变量并用一个已知类型声明变量是否有区别?
的可能重复[?我如何别名在C#中的类名(http://stackoverflow.com/questions/244246/how-do-i-alias-a-class-name-in-c) – nawfal 2014-07-16 11:47:04