B. *_*non 6 c# resharper null combobox nullreferenceexception
Resharper希望我改变这段代码:
foreach (var item in cmbxColor1.Items)
{
cmbxColor2.Items.Add(item);
. . .
Run Code Online (Sandbox Code Playgroud)
...因为它说,"可能'System.NullReferencesException'"
所以它应该是这样的:
foreach (var item in cmbxColor1.Items)
{
if (null != cmbxColor2.Items)
{
cmbxColor2.Items.Add(item);
. . .
Run Code Online (Sandbox Code Playgroud)
?
我不明白 - 除非null ==空,组合框的项目怎么可能为null?如果null ==为空,那么这就是他们[s,w]调用此代码时应该是什么.
我认为 Resharper 在这里是错误的,因为Items的集合ComboBox似乎是由其构造函数初始化的。那是:
ComboBox c = new ComboBox();
c.Items.Add("1");
Run Code Online (Sandbox Code Playgroud)
保证没问题。
此外,get这里只有访问器可供我们使用,因此没有人可以用另一个(或null)来替换此集合。尽管我不太确定,如果有可能在派生时影响这个集合ComboBox(我无法立即找到某物),我想即使如此,它仍然保证不为空。
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |