如何防止Type.GetProperties()访问对象中的属性

时间:2012-04-05 16:57:47

标签: c# reflection attributes

我使用massive.cs作为DAL,但我创建了具有其子女列表的模型。

问题是我无法想出一个隐藏GetProperties()的方法的好方法。 Massive使用它来创建expando对象,并且没有进行大量编辑,我想不出隐藏这些属性的好方法。是否有属性或类似的东西?

2 个答案:

答案 0 :(得分:4)

大量使用the overload of GetProperties() that takes no parameters(massive.cs:76)。根据文档,该方法“返回当前Type的所有公共属性。”

此外,“如果一个属性至少有一个公开的访问者,则该属性被认为是公开的。”因此,只需确保getter和setter是私有的,或者是显式接口实现。

答案 1 :(得分:2)

听起来你正试图隐藏一些代码?如果是这样,您必须将修改器更改为internalprivate,我认为是public。否则,您可以添加一个密钥,以便其他人通过混淆来使用您的代码......但是,就我所知,没有完美的隐藏代码的方法......