在c#中初始化集合属性时避免使用样板代码

时间:2017-07-21 07:25:26

标签: c# properties boilerplate

在初始化c#中的属性(或字段)时,是否有办法避免两次写入完全相同的类型? (类似于Java中的菱形运算符会做的事情......)

例如,假设我有这段代码:

netsh interface ipv6 set privacy state=disabled store=active
netsh interface ipv6 set privacy state=disabled store=persistent
netsh interface ipv6 set global randomizeidentifiers=disabled store=active
netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent

有没有办法避免写入类型private readonly Dictionary<string, ISomething> _dict = new Dictionary<string, ISomething>(); 或其中的一部分两次?

请注意,该类型已定义为Dictionary<string, ISomething>(),而不是Dictionary ..

1 个答案:

答案 0 :(得分:2)

不,目前在C#中没有类似的东西。明显的潜在修复方法是允许使用List<Human> noDup = humans.stream() .collect(noDupCollector(superHumans)); System.out.println(noDup); // [Bob, Tylor] 声明字段,但是more complicated than it may sound

我有点惊讶地看到像Java&#34;钻石运营商&#34;出现在C#中,但我之前感到惊讶......

如果您真的想避免输入,那么我希望Visual Studio在您输入var后帮助完成作业。 (就个人而言,无论如何我都不认为打字是打字的主要瓶颈,但是......)