国产精品成人一区二区在线_日本淫妇xxww老女人,_黑人让我高潮的视频_欧美亚洲高清在线一区_国产丝袜久久久久之久_国产精品这里有精品_亚洲aⅴ男人的天堂t在线观看_免费黄色片一级毛片

net學(xué)習(xí)心得

2021-06-12 心得體會(huì)

  .net學(xué)習(xí)心得

  1.反射:反射是.net中的重要機(jī)制,通過反射可以在運(yùn)行時(shí)獲得.net中每一個(gè)類型,包括類、結(jié)構(gòu)、委托和枚舉的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等。有了反射,既可以對(duì)每一個(gè)類型了如指掌。

  下面來演示一下反射的實(shí)例

 。1)新建一個(gè)類庫項(xiàng)目。在解決方案上單擊右鍵選擇添加“新建項(xiàng)目”,在彈出來的框中選擇“類庫”,在下面名字欄中輸入classlib。然后刪除class1類,新添加一個(gè)類“classperson”,添加如下代碼:

  namespace classlib

  {

  public class classperson

  {

  public classperson():this(null)

  {

  }

  public classperson(string strname)

  {

  name = strname;

  }

  private string name;

  private string sex;

  private int age;

  public string name

  {

  get { return name; }

  set { name = value; }

  }

  public string sex

  {

  get { return sex; }

  set { sex = value; }

  }

  public int age

  {

  get { return age; }

  set { age = value; }

  }

  public void sayhello()

  {

  if (null==name)

  console.writeline("hello world");

  else

  console.writeline("hello," + name);

  }

  }

  }

  添加完之后編譯生成一下,就會(huì)在這個(gè)類庫項(xiàng)目中的bindebug中有一個(gè)classlib.dll文件。然后添加一個(gè)控制臺(tái)應(yīng)用程序。引入system.reflaction的命名空間。添加的代碼如下:

  using system;

  using system.collections.generic;

  using system.linq;

  using system.text;

  using system.reflection;//添加反射的命名空間

  namespace consoleapplication4

  {

  public class program

  {

  static void main(string[] args)

  {

  console.writeline("列出程序集中的所有類型");

  assembly ass = assembly.loadfrom("classlib.dll");

  type[] mytype = ass.gettypes();

  type classperson = null;

  foreach (type p in mytype)

  {

  console.writeline(p.name);

  if (p.name=="classperson")

  {

  classperson = p;

  }

  }

  console.writeline("列出classpersonl類中的所有的方法");

  methodinfo[] md = classperson.getmethods();

  foreach(methodinfo m in md)

  {

  console.writeline(m.name);

  }

  console.writeline("實(shí)例化classperson類,并調(diào)用sayhello方法");

  object obj = activator.createinstance(classperson);

  object objname=activator.createinstance(classperson,"飛鷹");

  methodinfo mysayhello = classperson.getmethod("sayhello");

  mysayhello.invoke(obj, null);//無參數(shù)構(gòu)造函數(shù)

  mysayhello.invoke(objname, null);//有參構(gòu)造函數(shù)

  console.readkey();

  }

  }

  }

  運(yùn)行之后的結(jié)果是:

  列出程序集中的所有類型

  classperson

  列出classpersonl類中的所有的.方法

  get_name

  set_name

  get_sex

  set_sex

  get_age

  set_age

  sayhello

  tostring

  equals

  gethashcode

  gettype

  實(shí)例化classperson類,并調(diào)用sayhello方法

  hello world

  hello,飛鷹

  2.using的作用

  (1)引入命名空間,如:using system。

 。2)using別名。

  格式:using 別名=包括詳細(xì)命名空間信息的具體的類型

  例如:在兩個(gè)命名空間(namespace1,namespace2)里各有一個(gè)myclass類,這時(shí)可以這樣引入命名空間,

  using aclass=namespace1.myclass;

  using bclass=namespace2.myclass;

  實(shí)例化時(shí):

  aclass my1=new aclass;

  bclass my2=new bclass;

  (3)using定義范圍

  即時(shí)釋放資源,在范圍結(jié)束時(shí)處理對(duì)象。例如:

  using(class1 cls1=new class1())

  {

  }

  在這個(gè)代碼段結(jié)束時(shí)會(huì)觸發(fā)cls1的dispose方法釋放資源。

【net學(xué)習(xí)心得】相關(guān)文章:

關(guān)于NET學(xué)習(xí)心得文集07-13

net實(shí)習(xí)周記07-25

My Net Friend作文11-07

5個(gè)net后綴的單詞07-27

net后綴的單詞10個(gè)09-20

net后綴的單詞20個(gè)09-24

net后綴的單詞有哪些09-03

有關(guān)Net實(shí)驗(yàn)的報(bào)告范文10-28

我的網(wǎng)友 My Net Friend07-24

广德县| 应用必备| 淄博市| 汉源县| 盈江县| 龙里县| 塔城市| 甘肃省| 紫金县| 馆陶县| 屏东市| 法库县| 马关县| 武城县| 正宁县| 东海县| 彰化县| 新丰县| 高青县| 建昌县| 扶绥县| 东明县| 武宣县| 房产| 油尖旺区| 祁阳县| 成安县| 广安市| 贡山| 康马县| 大丰市| 来安县| 乌苏市| 唐海县| 浦城县| 咸宁市| 遂溪县| 汨罗市| 金溪县| 芮城县| 勐海县|