1

我正在尝试提取属性。属性是自定义属性。在此处输入图像描述 但是有些我无法使用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;
    }


}
4

3 回答 3

4

字段的默认可见性是私有的,尝试制作idTitle公开。
您还可以使用私有设置器将字段更改为属性,如下所示:

public Id { get; private set; }
public Title { get; private set; }

或只读属性:

public Id { get { return id; }  }
public Title { get { return title; } }

因为创建公共领域被认为是糟糕的设计。

于 2012-04-26T08:39:14.267 回答
1

你想从另一个类中读取 id 吗?您缺少公共修饰符。

public readonly int id; 

缺少修饰符的变量、属性和方法将自动变为私有。

希望这可以帮助!

于 2012-04-26T08:38:45.447 回答
1

我想给定一个类作为私有成员的默认行为,您可以尝试将其更改为public!

于 2012-04-26T08:40:37.263 回答