c# - 具有用户定义的类类型的字段的 C# 属性
问题描述
首先,定义一个名为 AAA 的类:
class AAA
{
public int a = 1;
}
然后,定义另一个类 BBB 包含一个类型为 AAA 的字段(该字段的属性 A,并且该字段已被初始化,即不为空):
class BBB
{
private AAA a = new AAA();
public AAA A { set; get; }
public bool isNull()
{
return a == null;
}
}
接下来,我在外面写了下面的代码:
BBB b = new BBB();
var flag = b.isNull(); // the value is FALSE
b.A.a = 3; // NullPointerException
如上面的评论所述,b.isNull() 返回 FALSE。因此,字段 a 不为空。但是,第 3 行 (bAa = 3) 会引发 NullPointerException。
如果属性A可以得到字段a的指针(C#没有指针,我的意思是指向真实对象a的地址引用),就不应该抛出这个异常。
我的问题是是否可以使用 C# 中的属性获取对象。
解决方案
因为你已经初始化了a
not A
。b.A
是null
。
但我不确定你想通过声明a
和A
使用相同类型来实现什么。
我认为你不需要A
在你的情况下申报。
推荐阅读
- javascript - Promises: return then() when action inside it is finished
- batch-file - 如果阻塞,为什么不在批处理文件中设置变量?
- python - Flask / uWSGI / CentOS - 更新不起作用
- powershell - Why does [NullString]::Value evaluate differently with a breakpoint?
- unix - 保存进度的传递函数?
- angular - 角度/打字稿:文本字段中的 ng-multiselect-dropdown 多个属性
- sql-server - 不使用触发器创建历史表
- qt - QPainterPath 描边伪影
- python - 测量一小部分像素的长度
- javascript - 游戏 - 使用 Javascript