我试图找出他们在这里使用的编程技术。正如您所看到的,“AAA类”具有一个名为“MessageInfo”的类型属性。我需要知道这是“自定义属性”还是一种特殊属性。
我尝试做研究和阅读不同的书籍,我仍然很困惑。
public class AAA
{
public BBB MessageInfo { get; set; }
object.MessageInfo.text = "xxxxx";
}
public class BBB
{
// text here...
}
答案 0 :(得分:0)
来自C# Language Specification,第10.7节:
属性是一个成员,可以访问对象或类的特征。属性的示例包括字符串的长度,字体的大小,窗口的标题,客户的名称等。属性是字段的自然扩展 - 两者都是具有关联类型的命名成员,访问字段和属性的语法是相同的。但是,与字段不同,属性不表示存储位置。相反,属性具有访问器,用于指定在读取或写入值时要执行的语句。因此,属性提供了一种机制,用于将动作与对象属性的读取和写入相关联;此外,他们允许计算这些属性。
单击链接,下载规范,导航到第10.7节,然后将其添加到阅读列表中。
答案 1 :(得分:0)
我需要知道这是“自定义属性”还是一种特殊属性。
这是一个属性。
In C# 3.0 and later, auto-implemented properties make property-declaration more concise when no additional logic is required in the property accessors. They also enable client code to create objects. When you declare a property as you have in your example, the compiler creates a private, anonymous backing field that can only be accessed through the property's get and set accessors.
。
像这样的东西
private BBB _bbb;
public BBB MessageInfo
{
get{ return _bbb;}
set{_bbb= value;}
}
答案 2 :(得分:0)