Pim*_*kos 34 parameters methods dynamic c#-4.0
在c#4.0中,动态方法参数是否可能,如下面的代码?
public string MakeItQuack(dynamic duck)
{
string quack = duck.Quack();
return quack;
}
Run Code Online (Sandbox Code Playgroud)
我在C#4.0中有很多很酷的动态关键字示例,但不像上面那样.这个问题当然受到python如何工作的启发.
Jon*_*eet 44
是的,你绝对可以做到这一点.出于静态重载解析的目的,它被视为object参数(并静态调用).那么你在方法中所做的就是动态的.例如:
using System;
class Program
{
static void Foo(dynamic duck)
{
duck.Quack(); // Called dynamically
}
static void Foo(Guid ignored)
{
}
static void Main()
{
// Calls Foo(dynamic) statically
Foo("hello");
}
}
Run Code Online (Sandbox Code Playgroud)
"动态就像对象"本质意味着你不能只有一个object参数只有一个重载而只有一个dynamic参数.
| 归档时间: |
|
| 查看次数: |
38440 次 |
| 最近记录: |