如果我有一个对象实例,如何检查它是否为只读?
我已经搜寻了System.Type,有很多IsXxxx()和GetXxxx()类型的函数,但没有IsReadOnly(),IsWriteable(),GetReadWriteProperty()或类似的函数。我猜想像myObj.GetType().IsReadOnly()这样的东西会太容易了,而Object类本身除了GetType()之外没有任何有用的东西。
当我在谷歌上搜索这个问题时,我得到的都是使用readonly关键字的方法。
我考虑使用反射和GetProperty(),但这是一个存在于List<>中的基类,我认为我需要将这个对象实例作为另一个对象中的孤立属性才能这样做。
有什么建议吗?
我已经搜寻了System.Type,有很多IsXxxx()和GetXxxx()类型的函数,但没有IsReadOnly(),IsWriteable(),GetReadWriteProperty()或类似的函数。我猜想像myObj.GetType().IsReadOnly()这样的东西会太容易了,而Object类本身除了GetType()之外没有任何有用的东西。
当我在谷歌上搜索这个问题时,我得到的都是使用readonly关键字的方法。
我考虑使用反射和GetProperty(),但这是一个存在于List<>中的基类,我认为我需要将这个对象实例作为另一个对象中的孤立属性才能这样做。
有什么建议吗?
[ImmutableObject(true)]
,但是...其中至少有两个实际上并不能使其不可变,第三个(字段)并不是强制性的或过于常见(因为字段将是私有的)。 - Marc GravellmyObj.GetType().GetProperties
,我将得到myObj
内部的属性,而不是myObj
本身的 CanRead/CanWrite。 - Nic Foster