Ozt*_*aco 3 c# variables methods winapi visual-studio
让我们说我有一个方法
public static void Blah(object MyMethod) { // i dont know what to replace object with
MyMethod; // or however you would use the variable
}
Run Code Online (Sandbox Code Playgroud)
所以基本上我需要能够通过变量引用一个方法
你正在寻找代表.
public delegate void SomeMethodDelegate();
public void DoSomething()
{
// Do something special
}
public void UseDoSomething(SomeMethodDelegate d)
{
d();
}
Run Code Online (Sandbox Code Playgroud)
用法:
UseDoSomething(DoSomething);
Run Code Online (Sandbox Code Playgroud)
或者使用lambda语法(如果DoSomething是Hello World):
UseDoSomething(() => Console.WriteLine("Hello World"));
Run Code Online (Sandbox Code Playgroud)
还有以及形式Action和Func类型的Delegates可用的快捷语法:
public void UseDoSomething(Action d)
Run Code Online (Sandbox Code Playgroud)
如果你需要从你的委托中返回一个值(就像int在我的例子中一样),你可以使用:
public void UseDoSomething2(Func<int> d)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |