[原创]反射,.NET,委托
2007-08-15 17:30 Virus-BeautyCode 阅读(435) 评论(3) 编辑 收藏 举报using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Reflection;
namespace ConsoleApp
{
public delegate string dele(string str);
public class Bmw
{
private static int idata;
private char cdata;
public static string sdata;
public double ddata;
public Bmw()
{ }
public Bmw(int i)
{
idata = i;
}
private Bmw(char c)
{
cdata = c;
}
public char Cdata
{
get
{ return cdata; }
set
{ cdata = value; }
}
private string Ha()
{
Console.WriteLine("haha");
return "";
}
public string Display(string str)
{
return "asdf";
}
public void Drive()
{
Console.WriteLine("drive bmw..");
}
}
class Program
{
static void Main()
{
//Assembly.Load().CreateInstance()
Assembly a = Assembly.LoadFrom("ConsoleApp.exe");
Type[] mytypes = a.GetTypes();
Console.WriteLine("these types are included...");
foreach (Type t in mytypes)
{
System.Console.WriteLine(t.Name);
}
Type ht = typeof(Bmw);
Console.WriteLine("these methods are included..");
MethodInfo[] info = ht.GetMethods();
foreach (MethodInfo m in info)
{
Console.WriteLine(m.Name);
}
ConstructorInfo[] consinfo = ht.GetConstructors();
Console.WriteLine(".................................................");
Console.WriteLine("constructor is");
foreach (ConstructorInfo c in consinfo)
{
Console.WriteLine(c.Name);
}
EventInfo[] einfo = ht.GetEvents();
Console.WriteLine(".................................................");
Console.WriteLine("event is");
foreach (EventInfo e in einfo)
{
Console.WriteLine(e.Name);
}
FieldInfo[] finfo = ht.GetFields();
Console.WriteLine(".................................................");
Console.WriteLine("field is");
foreach (FieldInfo f in finfo)
{
Console.WriteLine(f.Name);
}
MemberInfo[] minfo = ht.GetMembers();
Console.WriteLine(".................................................");
Console.WriteLine("member is");
foreach (MemberInfo m in minfo)
{
Console.WriteLine(m.Name);
}
PropertyInfo[] pinfo = ht.GetProperties();
Console.WriteLine(".................................................");
Console.WriteLine("property is");
foreach (PropertyInfo p in pinfo)
{
Console.WriteLine(p.Name);
}
Console.WriteLine(ht.GetMethod("Display").ToString());
Bmw B=new Bmw();
dele del = new dele(B.Display);
Console.WriteLine(del("dd"));
//Car car = Drive.DriveCar("benz");
//car.Drive();
Console.ReadLine();
//System.Collections.Generic.
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构