是否可以使用.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