我每次都使用右键>重构>封装字段来获取我的访问器。问题是当我创建新类时,我可以拥有超过 10 个属性,并且每个访问器都需要 1 对 1 的时间。有没有更快的方法来创建它们?
感谢您的时间。
我每次都使用右键>重构>封装字段来获取我的访问器。问题是当我创建新类时,我可以拥有超过 10 个属性,并且每个访问器都需要 1 对 1 的时间。有没有更快的方法来创建它们?
感谢您的时间。
如果您创建一个新类,您可以使用代码片段来创建封装的字段,而不是先创建字段然后再封装它。在 C# 中,快捷方式是 prop 和 propg(用于私有集)。
看起来工作室内置的重构一次只支持一个字段,用于封装字段重构。重构专业版!( http://www.devexpress.com/Products/Visual_Studio_Add-in/Refactoring/ ) 或 Resharper ( http://www.jetbrains.com/resharper/index.html ) 都支持封装多个字段。
您可能会花哨并组合一个允许您选择多个字段然后封装每个字段的宏,但 VS 宏不是我的蜡球。
在 C# 3.0 中,新的属性语法使您无需声明字段并实现访问器。它们的语法如下:
public string Name { get; private set; }
另外,我想指出,对于内部成员,琐碎的属性对内部字段的价值很小,因为您可以控制调用者和实现 - 您可以在未来切换到一个属性,而无需大量工作。
即使对于公共成员来说,认为您可以仅通过将公共数据字段添加到属性中来保证您的代码的未来发展也是短视的。至少,您应该在构造函数(使用工厂)和接口(使用接口)周围添加间接。它还需要深入思考您的 API 的使用者将如何期望您在多个版本上工作。在我看来,这真的很难,而且只有当你是 API 供应商时才值得这样做。
在我的代码中,我使用属性的主要原因是因为许多使用反射的工具只查看属性而不是字段。我认为这是一个错误,但这就是工具的工作方式。