JL.*_*JL. 2 c# resharper stylecop
我有以下代码行:
var dmrReceived = new DownloadMessagesReport();
Run Code Online (Sandbox Code Playgroud)
StyleCop和ReSharper建议我删除冗余初始化程序.但是,如果我用它替换它
DownloadMessagesReport dmrReceived;
Run Code Online (Sandbox Code Playgroud)
当然这会产生一个未设置为对象实例的对象引用?我使用的是.NET 3.5.你不再需要手动实例化对象吗?
下一行是:
dmrReceived = dc.DownloadNewMessages(param, param2, param3);
Run Code Online (Sandbox Code Playgroud)
值得注意的是,这dc是一个从WCF服务生成的类.所以DownloadNewMessages是一个WCF Web服务方法.
Dav*_*d M 12
如果它是一个字段,它将自动初始化为其默认值 - 对于引用类型为null.var但是,考虑到这一点,我猜它不是,而且你实际上是在你的代码中进一步实例化它,从而丢弃你在这里实例化的值.您不需要初始化声明它的变量.如果您想使用var它,但我建议您在实际首次使用它的地方声明它.
所以你的代码是
var dmrReceived = new DownloadMessagesReport();
dmrReceived = dc.DownloadNewMessages(param, param2, param3);
Run Code Online (Sandbox Code Playgroud)
第二行不会填充您在第一行中创建的对象,但它会完全替换该对象.因此不需要第一个赋值(因为第一个对象从未使用过),这就是R#警告的内容.
| 归档时间: |
|
| 查看次数: |
4607 次 |
| 最近记录: |