- 전체
- Native Apps
- WinJS App
- C# Apps
- XAML
- VB.net
- VisualC.net
- C++
- MFC
- visual studio mobile app dev
- Azure ms cloud service
- Asp.net
- 인공지능 (AI)
- wpf
- UWP
- MAUI
- asp.net
C++ C# getMethod : Call Method by Name
2017.07.01 19:10
C# getMethod : Call Method by Name
GetMethod references methods with only a string name. With it we call a method whose name equals this string. This involves the System.Reflection namespace and the MethodInfo type found there.
Example. Before we begin, please notice the System.Reflection namespace. Reflection here refers to how C# programs can look inside themselves and then act upon their metadata programmatically.
Next:We want to call the Inform static method by using the string "Inform" and we want to call it twice with different parameters.
C# program that uses GetMethod
using System;
using System.Reflection;
static class Methods
{
public static void Inform(string parameter)
{
Console.WriteLine("Inform:parameter={0}", parameter);
}
}
class Program
{
static void Main()
{
// Name of the method we want to call.
string name = "Inform";
// Call it with each of these parameters.
string[] parameters = { "Sam", "Perls" };
// Get MethodInfo.
Type type = typeof(Methods);
MethodInfo info = type.GetMethod(name);
// Loop over parameters.
foreach (string parameter in parameters)
{
info.Invoke(null, new object[] { parameter });
}
}
}
Output
Inform:parameter=Sam
Inform:parameter=Perls
In this example, the expression typeof(Methods) references the Methods class and returns Type pointer. We next call the instance method GetMethod on the type instance. This returns a MethodInfo instance or null if no method was located.Type
Next, in the foreach loop, we repeatedly call Invoke. The first argument to Invoke is null. This is because the target method is static and has no instance expression. The second argument is wrapped in an object array.ForeachObject Array
Note:You must do this even if there is only one required parameter. It is not optional.
MethodInfo Invoke
Summary. It is possible to call methods by their names in the C# language. Using reflection, you can create interesting abilities in your programs, such as query languages that can reference arbitrary methods in the metadata.
Tip:This is best for situations where performance is not critical. It is ideal for less frequently used code.
[출처] https://www.dotnetperls.com/getmethod
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 7 |
[윈도우즈 앱 개발]CaptureManager SDK - Capturing, Recording and Streaming Video and Audio from Web-Cams
| 졸리운_곰 | 2021.04.13 | 264 |
| 6 |
Window 7 Enterprise 64bit에 vb6 (visual studio 6.0 ent버젼) 설치
| 졸리운_곰 | 2018.12.04 | 529 |
| 5 |
[VS2008] 코드 난독화 (Dotfuscator Community Edition 사용)
| 졸리운_곰 | 2017.07.01 | 612 |
| 4 | GUID를 문자열로... 문자열을 GUID로 | 가을의곰 | 2017.06.10 | 293 |
| 3 |
Hooking 이란?
| 졸리운_곰 | 2015.06.16 | 525 |
| 2 |
윈도우즈 후킹 기초
| 졸리운_곰 | 2015.06.16 | 318 |
| 1 |
윈도우 메시지 후킹
| 졸리운_곰 | 2015.06.16 | 2284 |

