合肥外贸网站建设公司做ppt会去什么网站找图
合肥外贸网站建设公司,做ppt会去什么网站找图,亿网网络科技有限公司,wordpress jquery插件首先#xff0c;常量是一个字段#xff0c;所以需要从字段中获取该值。 但是需要传入的BindingFlags是什么#xff0c;与其盲猜#xff0c;不如直接反射所有字段值#xff0c;查看其中的常量有哪些特性和bool值来判断。 ...static void Main(string[] args){var type typ… 首先常量是一个字段所以需要从字段中获取该值。 但是需要传入的BindingFlags是什么与其盲猜不如直接反射所有字段值查看其中的常量有哪些特性和bool值来判断。 ...static void Main(string[] args){var type typeof(CCCC);var fields type.GetFields(BindingFlags.Public | BindingFlags.Static);}public class CCCC{public const int A 2;public static readonly int B 3;public static int C 4;}
...
在获取fields后打上断点可得到如下结果
截图过大截取部分
字段A: 字段B: 字段C: 对比上述图可知
常量的BindingFlags特性依然是Public|Static字段特性FieldAttributes为Public|Static|Literal|HasDefault且field.IsLiteral为true这个属性表示是否在编译时确定值且后续不可改变因此可以通过字段特性来确定该字段是否为常量 常规静态变量则仅有Public|Static不论是BindingFlags还是FieldAttributes
而静态只读变量则在FieldAttributes中额外多一段InitOnly标记。
综上所述要获取常量字段则可以直接通过反射静态字段的方式获取字段后判断是否有Literal特性则可以返回值伪代码如下
public static FieldInfo GetConstantField(Type type, string fieldName)
{var field type.GetField(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static);if (field.Attributes.HasFlag(FieldAttributes.Literal | FieldAttributes.HasDefault)){return field;}return null;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88432.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!