使用属性vs常规获取属性
本文关键字:属性 获取 常规 vs | 更新日期: 2023-09-27 18:03:30
我需要找到一个特定对象的所有属性,这些属性不是只读的,并且基于它们的类型做一些事情我的意思是,如果属性类型是int,我需要做某事如果它是string,我应该做其他事情
使用反射并获得此类型,通常我可以创建一个可以做我想做的事情的对象例如,如果属性类型是Int,我可以创建一个IntType的实例:
,但我有另一个选择:为每个属性设置一个属性,并基于这些属性,找到合适的ittype我只是不能决定哪一个更好。
如果您需要的所有信息都已经包含在属性的类型中,我不认为引入新属性是一个好主意。除此之外,当数据类型发生变化时,您很容易忘记更新属性。从
开始[Int32Type]
int Foo { get; set; }
,然后发现你实际上需要它是一个long
,但忘记改变属性:
[Int32Type]
long Foo { get; set; }
现在你可能会对它做出不正确的反应。
如果你真的添加信息-例如,如果不是所有 int
属性都需要以相同的方式处理-那是另一回事。