MethodBase.GetParameters 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파생 클래스에서 재정의되는 경우 지정된 메서드 또는 생성자의 매개 변수를 가져옵니다.
public:
abstract cli::array <System::Reflection::ParameterInfo ^> ^ GetParameters();
public abstract System.Reflection.ParameterInfo[] GetParameters();
abstract member GetParameters : unit -> System.Reflection.ParameterInfo[]
Public MustOverride Function GetParameters () As ParameterInfo()
반품
이 MethodBase 인스턴스에서 반영하는 메서드(또는 생성자)의 서명과 일치하는 정보를 포함하는 형식 ParameterInfo 의 배열입니다.
구현
예제
다음 예제에서는 메서드를 GetParameters 사용하여 대리자 메서드의 매개 변수를 Invoke 검색합니다.
이 예제에서는 명명 MyDelegate 된 대리자와 형식ev의 이벤트를 MyDelegate 정의합니다. 메서드의 Main 코드는 이벤트의 대리자 형식을 가져오고 대리자 형식의 메서드를 Invoke 가져온 다음 매개 변수를 검색하고 표시하여 이벤트 서명을 검색합니다.
// The following example uses instances of classes in
// the System.Reflection namespace to discover an event argument type.
using System;
using System.Reflection;
public delegate void MyDelegate(int i);
public class MainClass
{
public event MyDelegate ev;
public static void Main()
{
Type delegateType = typeof(MainClass).GetEvent("ev").EventHandlerType;
MethodInfo invoke = delegateType.GetMethod("Invoke");
ParameterInfo[] pars = invoke.GetParameters();
foreach (ParameterInfo p in pars)
{
Console.WriteLine(p.ParameterType);
}
}
}
// The example displays the following output:
// System.Int32
Imports System.Reflection
Public Delegate Sub MyDelegate(ByVal i As Integer)
Public Class MainClass
Public Event ev As MyDelegate
Public Shared Sub Main()
Dim delegateType As Type = GetType(MainClass).GetEvent("ev").EventHandlerType
Dim invoke As MethodInfo = delegateType.GetMethod("Invoke")
Dim pars As ParameterInfo() = invoke.GetParameters()
For Each p As ParameterInfo In pars
Console.WriteLine(p.ParameterType)
Next
End Sub
End Class
' The example displays the following output:
' System.Int32