using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{//定义一个类
public class Person{//公共属性
public string Name { get; set;}
public int Age { get; set;}//公共方法
public void Introduce(){
Console.WriteLine($"Hello,my name is {Name} and I am {Age} years old");}}
internal class Program{
static void Main(string[] args){
double length;
string str = @"C:\Windows";
byte i =10;
int j = i;/*转小就要显示转换,转大就是隐式转换*///创建Person类的实例
Person person =newPerson();//获取person类的Type对象
Type persontype = person.GetType();//打印类名
Console.WriteLine($"Class Name:{persontype.Name}");//获取所有公共属性并打印属性名
PropertyInfo[] properties = persontype.GetProperties();
Console.WriteLine("properties");
foreach (PropertyInfo property in properties){
Console.WriteLine($"{property.Name}({property.PropertyType})"}//获取所有公共方法并打印方法名
MethodInfo[] methods = persontype.GetMethods();
foreach (MethodInfo method in methods){
Console.WriteLine($"{method.Name}({method.ReturnType})");}//调用Introduce方法
MethodInfo introduceMethod = persontype.GetMethod("Introduce");
introduceMethod.Invoke(person,null);}}}