导出 (0) 打印
全部展开
此文章由人工翻译。 将光标移到文章的句子上,以查看原文。
译文
原文

Type.GetEvent 方法 (String)

返回表示指定的公共事件的 EventInfo 对象。

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)

public EventInfo GetEvent(
	string name
)

参数

name
类型:System.String
String ,包含由当前的 Type 声明或继承的事件的名称。

返回值

类型:System.Reflection.EventInfo
如找到,则为表示由当前 Type 声明或继承的指定公共事件的 EventInfo 对象;否则为 null

异常条件
ArgumentNullException

namenull

如果某事件至少有一个公共的方法或访问器,则该事件被视为对于反射是公共的。 否则,该事件将被视为私有,您必须使用 BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (在 Visual Basic 中,使用 Or 来组合值)以获取它。

name 的搜索区分大小写。 搜索范围包括公共静态和公共实例事件。

下表显示当反映到某个类型时,Get 方法返回基类的哪些成员。

成员类型

静态

非静态

构造函数

字段

是。 字段总是按名称和签名隐藏。

事件

不适用

通用类型系统规则是:该继承与实现属性的方法的继承相同。 反射将属性视为按名称和签名隐藏。 请参见下面的"注意 2"。

方法

是。 方法(虚方法和非虚方法)可按名称隐藏或按名称和签名隐藏。

嵌套类型

属性

不适用

通用类型系统规则是:该继承与实现属性的方法的继承相同。 反射将属性视为按名称和签名隐藏。 请参见下面的"注意 2"。

注意:

  1. 按名称和签名隐藏会考虑签名的所有部分,包括自定义修饰符、返回类型、参数类型、标记和非托管调用约定。 这是二进制比较。

  2. 对于反射,属性和事件按名称和签名隐藏。 如果基类中有同时带 get 访问器和 set 访问器的属性,但派生类中仅有 get 访问器,则派生类属性隐藏基类属性,并且您将无法访问基类的设置程序。

  3. 自定义属性不是通用类型系统的组成部分。

如果当前 Type 表示构造泛型类型,则此方法将返回 EventInfo,并且其类型形参将替换为相应的类型实参。

如果当前 Type 表示泛型类型或泛型方法的定义中的类型参数,则此方法搜索类约束的事件。

下面的示例获取指定事件的 EventInfo 对象。

注意说明:

若要运行此示例,请参见生成使用 Demo 方法和 TextBlock 控件的示例


using System.Reflection;
using System;

class Example
{
    public static void Demo(System.Windows.Controls.TextBlock outputBlock)
    {
        Type myType = outputBlock.GetType();

        EventInfo myEvent = myType.GetEvent("MouseLeftButtonUp");

        if (myEvent != null)
        {
            outputBlock.Text += "Looking for the MouseLeftButtonUp event in the " +
                myType.FullName + " class.\n";
            outputBlock.Text += myEvent.ToString() + "\n";
        }
        else
        {
            outputBlock.Text += "The MouseLeftButtonUp event is not found in the " +
                myType.FullName + " class.\r\n";
        }
    }
}

/* This example produces the following output:

Looking for the MouseLeftButtonUp event in the System.Windows.Controls.TextBlock class.
System.Windows.Input.MouseButtonEventHandler MouseLeftButtonUp
 */


Silverlight

受以下版本支持:5、4、3

Silverlight for Windows Phone

受以下版本支持:Windows Phone OS 7.1、Windows Phone OS 7.0

XNA Framework

受以下版本支持:Xbox 360、Windows Phone OS 7.0

有关 Silverlight 支持的操作系统和浏览器的列表,请参见 支持的操作系统和浏览器

社区附加资源

添加
显示:
© 2014 Microsoft