我正在尝试提取属性。属性是自定义属性。
但有些我无法使用object.id
的东西
例如,我的注释代码adpter.id
无效,即使您看到我已将该对象转换为其类型。
以下是属性的代码:
[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
public class Adapter : Attribute
{
// This class implements the Adapter Attribite
readonly int id;
readonly string Title;
public string Comment { get; set; }
private string[] Relation;
public Adapter(int id, string Title,string []relations)
{
this.id = id;
this.Title = Title;
this.Relation = relations;
}
}
答案 0 :(得分:4)
字段的默认可见性是私有的,请尝试公开id
和Title
您还可以使用如下私有设置器将字段更改为属性:
public Id { get; private set; }
public Title { get; private set; }
或只读属性:
public Id { get { return id; } }
public Title { get { return title; } }
因为创建公共字段被认为是糟糕的设计。
答案 1 :(得分:1)
你想从另一个班级读取id吗? 您缺少公共修饰符。
public readonly int id;
缺少修饰符的变量,属性和方法将自动变为私有。
希望这有帮助!
答案 2 :(得分:1)
我想将一个类的默认行为作为私有成员,您可以尝试将其更改为public
!