我使用右键> Refactor> Encapsultate字段每次都有我的访问者。问题是,当我创建新类时,我可以拥有10个以上的属性,并且每个访问者都要做1比1。有没有更快的方法来创建它们?

感谢您的时间。

有帮助吗?

解决方案

如果创建新类,则可以使用代码段创建封装字段,而不是先创建字段然后封装它。在C#中,快捷方式是prop和propg(对于私有集)。

其他提示

看起来内置于studio中的重构仅支持Encapsulate Field重构的单个字段。重构专业! ( 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供应商,我认为这是值得做的。

在我的代码中,我使用属性的主要原因是因为许多使用反射的工具会查看属性而不是字段。我认为这是一个错误,但这就是工具的工作方式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top