using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Reflection;
using System.IO;
namespace WindowsApplication4
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private FileInfo fileInfo = null;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.OpenFileDialog OpenFileDialog;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.RichTextBox rtbMethods;
private System.Windows.Forms.RichTextBox rtbPro;
private System.Windows.Forms.RichTextBox rtbEvents;
private System.Windows.Forms.Button button4;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.OpenFileDialog = new System.Windows.Forms.OpenFileDialog();
this.textBox1 = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.rtbMethods = new System.Windows.Forms.RichTextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.rtbPro = new System.Windows.Forms.RichTextBox();
this.label3 = new System.Windows.Forms.Label();
this.rtbEvents = new System.Windows.Forms.RichTextBox();
this.button4 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(336, 8);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(64, 24);
this.button1.TabIndex = 0;
this.button1.Text = "brownse";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(8, 8);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(320, 21);
this.textBox1.TabIndex = 1;
this.textBox1.Text = "textBox1";
//
// button2
//
this.button2.Location = new System.Drawing.Point(624, 8);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(136, 24);
this.button2.TabIndex = 2;
this.button2.Text = "invokeDesMethods";
//
// button3
//
this.button3.Location = new System.Drawing.Point(16, 312);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(144, 24);
this.button3.TabIndex = 3;
this.button3.Text = "invoke";
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// rtbMethods
//
this.rtbMethods.Location = new System.Drawing.Point(8, 56);
this.rtbMethods.Name = "rtbMethods";
this.rtbMethods.Size = new System.Drawing.Size(744, 72);
this.rtbMethods.TabIndex = 4;
this.rtbMethods.Text = "";
//
// label1
//
this.label1.Location = new System.Drawing.Point(8, 40);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(96, 16);
this.label1.TabIndex = 5;
this.label1.Text = "methods";
//
// label2
//
this.label2.Location = new System.Drawing.Point(8, 128);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(96, 16);
this.label2.TabIndex = 7;
this.label2.Text = "propertys";
//
// rtbPro
//
this.rtbPro.Location = new System.Drawing.Point(12, 144);
this.rtbPro.Name = "rtbPro";
this.rtbPro.Size = new System.Drawing.Size(744, 72);
this.rtbPro.TabIndex = 6;
this.rtbPro.Text = "";
//
// label3
//
this.label3.Location = new System.Drawing.Point(16, 216);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(96, 16);
this.label3.TabIndex = 9;
this.label3.Text = "events";
//
// rtbEvents
//
this.rtbEvents.Location = new System.Drawing.Point(16, 232);
this.rtbEvents.Name = "rtbEvents";
this.rtbEvents.Size = new System.Drawing.Size(744, 72);
this.rtbEvents.TabIndex = 8;
this.rtbEvents.Text = "";
//
// button4
//
this.button4.Location = new System.Drawing.Point(168, 312);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(144, 24);
this.button4.TabIndex = 10;
this.button4.Text = "clear";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(768, 358);
this.Controls.Add(this.button4);
this.Controls.Add(this.label3);
this.Controls.Add(this.rtbEvents);
this.Controls.Add(this.label2);
this.Controls.Add(this.rtbPro);
this.Controls.Add(this.label1);
this.Controls.Add(this.rtbMethods);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
if ( OpenFileDialog.ShowDialog() == DialogResult.OK )
{
this.fileInfo = new FileInfo( OpenFileDialog.FileName );
this.textBox1.Text = this.fileInfo.FullName ;
}
}
private void button3_Click(object sender, System.EventArgs e)
{
//获取文件信息
Assembly dll = Assembly.LoadFrom( OpenFileDialog.FileName );
foreach ( Type type in dll.GetTypes() )
{
//methods
foreach(MethodInfo objMethod in type.GetMethods())
{
this.rtbMethods.Text+=type.Name+":"+objMethod.Name.ToString()+"\r\n";
}
foreach(PropertyInfo objPropertyInfo in type.GetProperties())
{
this.rtbMethods.Text+=type.Name+":"+objPropertyInfo.Name.ToString()+"\r\n";
}
foreach(EventInfo objEventInfo in type.GetEvents())
{
this.rtbEvents.Text+=type.Name+":"+objEventInfo.Name.ToString()+"\r\n";
}
}
}
}
}
分享到:
相关推荐
这是我初学.NET时做的一个计算器源码,压缩包里含有一个解决方案和一个项目。 开发工具:Visual Studio 2008,可以向上兼容,如果用VS 2005,则需要下载VS 解决方案版本转换工具进行转换! 适合初学者学习C#研究使用...
c#做的类似于酷狗的播放器,附有源码。可以供初学者参考参考。; 包含很多经典算法。可以添加文件夹。主要是源码的价值
50个jquery例子源码,附有比较详细的代码,更快的帮助您网页设计。
采用C#语言开发,开发环境vs2008,附有源码,基本实现播放,暂停,上下曲,及播放列表的添加
C#设计模式,并且附有源码,该教程用c#语言描述了常用的设计模式,感觉比较受益!
c#做的俄罗斯方块。c#窗体应用程序。包括很多经典算法。可以供初学者参考参考。 c#面向对象的思想做的
提供了一个用C#语言实现的txt文件操作类,实现了写入txt、读取txt、读取指定行、删除指定行、查询txt指定内容,按照给定条件查询、删除txt文件内容等功能。调用方便,操作简单,附有使用说明,及源码。
一个很好的三层架构DAL层,Model层的代码生成器,用c#编写的。并附有设计文档
使用QT进行串口开发的教程,比较详细,并且附有源码.
一个用C#写的坦克大战的小游戏,附有源码,是用BS做的,又四个敌方坦克,并且有无敌键A
C#压缩解压缩源码,并附有测试示例
java转C#编译器的大型试验实验报告,附有详细过程及原始代码。
适用于初学者的C#实例教程,很基础的入门基础知识,很好的学习平台
c#写的一个小程序,内附有源码提供大家参考参考!
由于《C#开发实例大全(提高卷)》随书光盘源码有1.69G,下载文件中附有百度网盘链接,若链接失效请联系内附QQ
C#课件&源码,介绍了C#的基本语法和Windows编程,并附有源码,方便初学者学习
公司要做一个winform程序的在线升级,结合网上的一些资料,实现了这个功能,现制作了一个demo,附有使用说明,供大家学习参考!
vb做的天气预报系统,附有源码 vb做的天气预报系统,附有源码 vb做的天气预报系统,附有源码 vb做的天气预报系统,附有源码
USB解禁(附有源码) 解除注册表 usb驱动程序
先是C#语言的介绍;接下来是三类模式的详细介绍;并附有相应的源代码;