C#GetField方法的应用实例讲解.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C#GetField方法的应用实例讲解

目录关于C#Type类GetField方法应用应用举例心理CT设计题类设计DPCT类实现代码小结

关于C#Type类

Type表示类型声明:类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型类型定义,以及开放或封闭构造的泛型类型。调用this.GetType()方法得到Type对象,可获取成员信息,如方法名、变量名。更多学习请参照以下链接:

Type类(System)|MicrosoftLearn

本文以数据采集应用实例介绍Type.GetField方法的实际应用。

GetField方法应用

GetField是获取当前Type的特定方法,我们在这里介绍GetField(String,BindingFlags)即使用指定的绑定约束搜索指定的字段变量。

其中stringname表示要搜索的方法名称,System.Reflection.BindingFlags枚举可见下表:

序号筛选器标志说明1BindingFlags.Instance或BindingFlags.Static必须指定实例或静态方可有效返回2BindingFlags.Public搜索当前Type中包含的公共方法3BindingFlags.NonPublic搜索当前Type中包含的非公共方法、私有方法、内部方法和保护方法4BindingFlags.FlattenHierarchy在层次结构中的包括public和protected静态成员;private继承类中的静态成员不包括在层次结构中5BindingFlags.IgnoreCase忽略方法name的大小写进行搜索6BindingFlags.DeclaredOnly如果只搜索Type声明的方法,则搜索只是继承的方法

应用举例

心理CT设计题

假设我们有一组心理测评题目,共计10题,每题有A、B、C、D、E、F共计六个单选项,分六个维度进行计分,各初始维度得分均为0,如果符合条件则+1分,该维度如下表:

序号变量名类型说明1轻躁狂int其特征包括:气质昂扬,爱说、精力充沛、易怒、思维奔逸、抑郁气短等。初始值为02妄想狂int为了区分那些被判断为具有关系妄想、被害妄想、夸大自我概念、猜疑心、过度地敏感、意见和态度生硬等偏执性人格而制定。初始值为03抑郁int抑郁的特征是缺乏干劲,对未来没有希望,一般对自己的生活状况极其不满。初始值为04癔病int癔病的特征是心因性的不随意肌体机能丧失和机能障碍。初始值为05疑病int其特征是对自己的身体健康的一种过度的关心,担心自己有病或不健康。初始值为06精神int其特征包括:思维、感情和行为混乱。初始值为0

初始化代码如下:

int轻躁狂=0;

int妄想狂=0;

int抑郁=0;

int癔病=0;

int疑病=0;

int精神=0;

基本的设计如下,通过被测试者对题目的理解,回答其中的选项(单选),则采集后的数据拼接为10个字母组合,如下:

stringkey1=BACCEDFABCD;

其中key1字符串即为被测试者的答案。

建立代码对应维度的字典变量Dictionarystring,stringdescript=newDictionarystring,string(),如下代码:

descript.Add(A,轻躁狂);

descript.Add(B,妄想狂);

descript.Add(C,抑郁);

descript.Add(D,癔病);

descript.Add(E,疑病);

descript.Add(F,精神);

建立Dictionarystring,intdpct=newDictionarystring,int字典变量,用于存储模型的运算值(每一题均不同),如下代码:

dpct.Add(A1,1);

dpct.Add(B1,1);

dpct.Add(C1,1);

dpct.Add(D1,1);

dpct.Add(E1,1);

dpct.Add(F1,1);

dpct.Add(A2,0);

dpct.Add(B2,0);

dpct.Add(C2,0);

dpct.Add(D2,0);

dpct.Add(E2,0);

dpct.Add(F2,0);

dpct.Add(A3,0);

dpct.Add(B3,1)

文档评论(0)

158****7369 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档