如何在 Visual Studio 中生成 getter 和 setter?

“生成”是指自动生成特定选定(一组)变量所需的代码。

但欢迎对良好做法进行更明确的解释或评论。

请先 登录 后评论

6 个回答

Mario Marinato

我的机器上不再安装 Visual Studio(我使用的是 Linux),但我确实记得有一个向导隐藏在其中一个菜单中,可以访问类生成器。

>

使用此向导,您可以定义所有类的详细信息,包括方法和属性。如果我没记错的话,有一个选项可以让 VS 自动为你创建 setter 和 getter。

我知道它很模糊,但检查一下,你可能会找到它。

请先 登录 后评论
omar

如果您使用的是 Visual Studio 2005 及更高版本,您可以使用插入片段命令快速创建一个 setter/getter。右键单击您的代码,然后单击“插入代码段”(Ctrl k,x),然后从列表中选择“prop”。希望这会有所帮助。

请先 登录 后评论
Dan Herbert

Visual Studio 还有一项功能,可以从私有变量生成属性。

如果右键单击一个变量,在弹出的上下文菜单中单击“重构”项。然后选择封装字段。这将为变量创建一个 getter/setter 属性。

我不太喜欢这种技术,因为如果您必须创建很多 getter/setter,使用起来有点尴尬,而且它将属性直接放在私有字段下方,这让我很烦恼,因为我通常将所有私有字段组合在一起,而这个 Visual Studio 功能打破了我班级的格式。

请先 登录 后评论
Jon Limjap

通过生成,您的意思是自动生成吗?如果这不是您的意思:

Visual Studio 2008 对此有最简单的实现:

public PropertyType PropertyName { get; set; }

在后台,这会创建一个隐含的实例变量,您的属性存储和检索到该变量。

然而,如果你想在你的属性中加入更多的逻辑,你必须有一个实例变量:

private PropertyType _property;

public PropertyType PropertyName
{
    get
    {
        //logic here 
        return _property;
    }
    set
    {
        //logic here
        _property = value;
    }
 }

以前版本的 Visual Studio 也总是使用这种普通方法。

请先 登录 后评论
Orion Edwards

与使用 ctrl kx 不同,您也可以只输入 prop 然后按两次 Tab< /p>

请先 登录 后评论
Oliver

如果您使用的是 ReSharper,请进入 ReSharper 菜单 --> 代码 --> 生成 ...(或在周围的类中点击 Alt Ins)你会得到所有你能想到的生成 getter 和/或 setter 的选项:-)

请先 登录 后评论