我可以确定属性设置器是否是内部的?

Big*_*oss 1 .net c# access-modifiers

我有一组属性,其中一些有privatesetter,其中一些有internalsetter.有没有办法在运行时我可以检查属性的setter是否是internal?

Adi*_*ter 5

您可以使用反射获取此信息:

var myType = obj.GetType();
var setMethod = myType.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public)
                      .GetSetMethod(true);
bool isInternalSetter = setMethod != null && setMethod.IsAssembly;
Run Code Online (Sandbox Code Playgroud)