是否可以创建一个行为与许多其他属性组合的属性?

时间:2012-10-26 14:22:44

标签: .net asp.net-mvc-4 custom-attributes

我基本上问我们是否可以在属性类上伪造某种多重继承。我有一些具有很多属性的视图模型,这些属性都获得了字段长度,格式,一些自定义内容等的相同属性组合。可能有50个这样的字段。一些属性中包含常量。

这看起来非常糟糕,因为代码重复。如果我想稍微更改格式或任何这些常量,我必须单独找到并修复每个字段。我是否有可能创建一个单独的[MyCustomFieldType]属性,其行为与所有其他属性组合在一起,因此它会保持DRY状态?

编辑:我对代码重复的意思是每个属性都有多个属性;我并不是指有多个属性的事实。我明白,即使我有一个属性要放置,我也要放置它多次。但至少我有一个地方(属性类)来改变格式字符串或其他数字常量参数之类的东西。

1 个答案:

答案 0 :(得分:0)

我想我看到你在这里得到的东西,对于viewmodel属性,我担心你无法将你想要的东西组合起来。请更新您的问题以显示您想要组合的属性和常量的一些示例。你有没有想过在Resources resx文件中存储常量?然后,您可以使用某些属性属性从该文件中检索常量,这应该使其成为DRYer。但是,您仍需要在每个属性上使用属性组合。