C# 4.0에는 동적 유형이 있지만 동적 유형 객체의 정적 방법을 호출하는 방법은 무엇입니까?C# 4.0에서 동적 메서드로 정적 메서드를 호출하는 방법은 무엇입니까?
아래 코드는 런타임에 예외를 생성합니다. 동적 인 개체는 C# 클래스에서 왔지만 DLR을 통해 다른 언어의 개체 일 수 있습니다. 요점은 정적 메서드를 호출하는 방법이 아니라 동적 메서드의 정적 메서드를 호출하는 방법을 C# 코드에서 만들 수 없습니다.
class Foo
{
public static int Sum(int x, int y)
{
return x + y;
}
}
class Program
{
static void Main(string[] args)
{
dynamic d = new Foo();
Console.WriteLine(d.Sum(1, 3));
}
}
IMHO, 동적는 C# 및 다른 프로그래밍 언어를 해소하기 위해 개발된다. 다른 언어 (예 : Java)에서 유형 대신 객체를 통해 정적 메소드를 호출 할 수 있습니다.
BTW, C# 4.0은 C# 3.0에 비해 인상적이지 않습니다.