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.s isnull()返回FALSE。所以,字段a不为空。然而,第三行(b.A.a = 3)抛出NullPointerException。

如果属性A可以获得字段A的指针(c#没有指针,我的意思是指向实际对象A的地址引用),则不应该抛出此异常。

我的问题是是否有可能在c#中使用属性获得对象。

因为您初始化的是a而不是Ab.Anull

但是我不确定你想通过用相同的类型声明aA来实现什么。

我认为你不需要在你的情况下申报A

请为类提供一个有意义的名称,而不是AB. .

按照我的评论,这里是修复。记住你的问题不清楚,所以这是我假设你想要的。类BBB{

public BBB()
{
A = new AAA();
}
public AAA A { set; get; }
public bool isNull()
{
return A == null;} //will always return false
}

相关内容

  • 没有找到相关文章

最新更新