使用 .NET magic get set 是最佳实践吗?
可以在代码中使用它(在 mvc 3 上下文或任何其他上下文中):
protected String test { get; set; }
如果您有任何这些答案,我想听听为什么它是和为什么不是。
谢谢。
It is okay to use this in code (in the mvc 3 context or any other context) :
protected String test { get; set; }
Would like to hear why it is and why it is not if you have any of those answers.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这只是一种方便。
它所做的只是为您删除样板代码,因为它实际上相当于
所以,当这就是全部时,请使用 magic get set。
当您需要做一些更时髦的事情时,请实现 getetters。
例如,在 MVC 中,我经常想对我的属性使用 Enum,但 CodeFirst 不支持它。所以,我这样做:
这会按预期填充我的数据库。
It is simply a convenience.
All it does is remove boiler plate code for you, since it really is equivalent to
So, when that's all it is, use magic get set.
When you need to do something more funky, then implement the getsetters.
For example, in MVC, I often want to use Enums for my properties, but it is not supported by CodeFirst. So, I do this:
And this populates my database as expected.
完全没问题。它与使用手动支持的完整属性是一样的,只是它的支持是由编译器自动生成的。如果您需要更好地控制 get-set 的实现,请务必使用详细语法,但如果您只需要简单的属性(例如 MVC 中的 VM 属性),请使用此语法,因为它使代码更具可读性开门见山。
It is completely okay. It is the same thing as using a full property with manual backing, just that its backing is auto-generated by the compiler. If you need greater control over the implementation of get-set, use the verbose syntax by all means, but if you just need simple properties (for VM properties in MVC for example) use this syntax, as it makes the code much more readable and direct to the point.