您的位置:首页 > 娱乐 > 明星 > 网站架构设计师简历_自己制作手机软件app_怎么样优化网站seo_徐州seo顾问

网站架构设计师简历_自己制作手机软件app_怎么样优化网站seo_徐州seo顾问

2024/12/22 22:42:04 来源:https://blog.csdn.net/qq_36865346/article/details/143669376  浏览:    关键词:网站架构设计师简历_自己制作手机软件app_怎么样优化网站seo_徐州seo顾问
网站架构设计师简历_自己制作手机软件app_怎么样优化网站seo_徐州seo顾问

反射基本功能:

① 在程序运行过程中读取和修改对象中的参数(属性、方法、字段等)

② 通过反射对程序进行更新,不需要改动原程序

反射作用1练习:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace fanshe
{class student{public int age;public string name;public int ID { get; set; }public student(string Name){this.name = Name;}public void show(){Console.WriteLine("this is shown");}public void show2(string Age){Console.WriteLine($"this is {Age}");}}class Program{static void Main(string[] args){object obj = new student("jerry");Type x = obj.GetType();//反射作用:① 通过反射遍历成员,并调用成员//type的常用属性:Name;full name;namespaceConsole.WriteLine(x.Name);       //studentConsole.WriteLine(x.FullName);   //fanshe.studentConsole.WriteLine(x.Namespace);  //fansheforeach (var item in x.GetFields()){//显示出当前obj对象中的字段Console.WriteLine(item.Name);  //age name}//输出obj对象中age字段数值x.GetField(name: "age").SetValue(obj, 30);int y = (int)x.GetField(name: "age").GetValue(obj);Console.WriteLine(y);Console.WriteLine("//");//输出对象属性foreach (var item in x.GetProperties()){Console.WriteLine(item.Name);                   //IDConsole.WriteLine(item.PropertyType.Name);      //Int32Console.WriteLine(item.PropertyType.FullName);  //system.Int32}var id = x.GetProperty(name: "ID");id.SetValue(obj,100);Console.WriteLine(id.GetValue(obj));   //100Console.WriteLine("/");//输出obj对象中的方法foreach (var item in x.GetMethods()){Console.WriteLine(item.Name);}x.GetMethod(name: "show").Invoke(obj,null);x.GetMethod(name: "show2").Invoke(obj,new object[] {"jerry"});Console.ReadKey();}}
}

作用2练习:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;namespace ConsoleApplication1
{class Program{static void Main(string[] args){Console.WriteLine(Environment.CurrentDirectory);Assembly ss = Assembly.LoadFile(Environment.CurrentDirectory+ @"\libs\studentmanager.dll");foreach (var item in ss.GetTypes()){Console.WriteLine(item.Name);//使用is属性对参数进行过滤,找到想找的内容Console.WriteLine(item.IsClass);Console.WriteLine(item.IsAbstract);}Console.WriteLine("///");var t = ss.GetTypes().First(x=>x.IsAbstract==false && x.IsClass ==true);Console.WriteLine(t.Name);//此时是没有对象的,需要重新创建对象object obj =  ss.CreateInstance(t.FullName);t.GetProperty(name: "Age").SetValue(obj,30);t.GetProperty(name: "Name").SetValue(obj,"jerry");int kl =  (int)t.GetProperty(name: "Age").GetValue(obj);Console.WriteLine(kl);t.GetMethod(name: "show").Invoke(obj,new object[] { });//t.GetProperty(name: "Age").SetValue(obj,30);//t.GetProperty(name: "Name").SetValue(obj,"jerry");Console.ReadKey();}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com