frmreflector.cs

来自「移动设备的 LINQ 编程介绍 .NET Compact Framework 版」· CS 代码 · 共 46 行

CS
46
字号
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;

namespace Demo1___LinqToObjects
{
	public partial class FrmReflector : Form
	{
		public FrmReflector()
		{
			InitializeComponent();
		}

		private void menuItem1_Click(object sender, EventArgs e)
		{
			Cursor.Current = Cursors.WaitCursor;

			Assembly assembly = Assembly.GetExecutingAssembly();
			var pubTypesQuery = from type in assembly.GetTypes()
								where type.IsPublic
								from method in type.GetMethods()
								where method.IsPublic && method.ReturnType.ToString() == "System.String"
								group method.Name by type.Name;

			StringBuilder sb = new StringBuilder();
			foreach (var groupOfMethods in pubTypesQuery)
			{
				sb.AppendFormat("Type: {0}", groupOfMethods.Key).AppendLine();
				foreach (var method in groupOfMethods)
				{
					sb.AppendFormat("  {0}", method).AppendLine();
				}
			}

			textBox1.Text = sb.ToString();

			Cursor.Current = Cursors.Default;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?