C#:有没有办法自动创建getter和setter?

时间:2011-01-28 11:15:10

标签: c# properties

我正在使用他们的官方C#驱动程序编写Mongo Web应用程序。

为了实现引用,必须手动获取它们。

所以我们说我们有

class User {
    ...
    public MongoDBRef Topic { get; set; }
}

要获取主题,我们需要执行以下操作:

db.FetchDBRefAs<Topic>(user.Topic);

创建一个新的:

user.Topic = new MongoDBRef(TopicsTable, topic._id);

我决定创建一个虚拟属性以使其更方便:

    [BsonIgnore]
    public Topic _Topic
    {
        get
        {
            return db.FetchDBRefAs<Topic>(Topic);
        }
        set
        {
            CreatedAd = new MongoDBRef(TopicsTable, value._id);
        }
    }

现在我可以像这样使用它:

 user._Topic = someTopic;
 anotherTopic = user._Topic;

显然,对所有引用的对象执行此操作会非常痛苦。

有没有办法让这个过程自动化?

由于

2 个答案:

答案 0 :(得分:5)

我怀疑你可以使用Visual Studio code snippets。我自己从未这样做过,但我认为这正是他们通常使用的那种东西。

答案 1 :(得分:3)

您可以使用Visual Studio code snippets

输入prop和两个标签,您只需填写该属性的类型和名称。

内置整个属性的片段包含支持字段(propfull),只读属性(propg)以及更多内容 - 例如空构造函数(ctor )。

您还可以创建和使用自己的代码段。