有没有办法避免在c#中初始化属性(或字段)时写两次完全相同的类型? (类似于 Java 中的菱形运算符会做..)
例如,假设我有这个代码:
private readonly Dictionary<string, ISomething> _dict =
new Dictionary<string, ISomething>();
有没有办法避免写类型
Dictionary<string, ISomething>()
或它的一部分两次?
请注意类型已经被定义为
Dictionary
,而不是IDictionary
..
不,目前 C# 中没有类似的东西。明显的潜在解决方法是允许使用
var
声明字段,但这比听起来更复杂。
看到 C# 中出现类似 Java 的“钻石运算符”之类的东西,我会感到有些惊讶,但我之前也曾感到惊讶……
如果您真的想避免 typing,那么我希望 Visual Studio 能够在您键入
new
后帮助完成作业。 (我个人并不认为打字是编码时的主要瓶颈,但是......)
以下可以简化,不知道是不是你要找的
private readonly Dictionary<string, ISomething> _dict =
new Dictionary<string, ISomething>();
如下
Using MyCustomDict = Dictionary<string, ISomething>;
private readonly MyCustomDict _dict = new MyCustomDict();
整个页面都可以使用MyCustomDict代替Dictionary