2014-07-21 6 views
0

이 클래스는 Lazy이라고하며,이 클래스는 인수를 취하지 않고 값을 반환하는 Func을 포함합니다.C#에서 오버로드() 연산자

public class Lazy<A> { 
    Func<A> a; 

    public Lazy(A val){ 
     a =() => val; 
    } 

    public A operator()() 
    { 
     return a(); 
    } 
} 

바와 같이 I 이렇게 I 자연스럽게 내부 기능을 실행할 수 () 연산자를 정의하려는 here 설명했다. 그러나 나는이 오류를 얻을

예기치 않은 기호 '('클래스, 구조체 또는 인터페이스 멤버 선언

에 그것은 구문이 잘못된 것 같다. 그것을 할 수있는 적절한 방법은 무엇입니까?

+2

당신이 지원 ** C++ **에 대한 설명서 링크 ** C#을 **하지 –

+0

@MichaelLiu 덕분에 관심을 지불하지 않았다 않습니다..! 그 세부 사항에 jajajaj –

+0

당신이 사용하고 싶은 것은'delegate's입니다. – Krumia

답변

1
당신은 C#에서 오버로드 할 수

연산자는 다음과 같습니다

+ - ! ~ ++ -- true false 
*/% & |^<< >> == != > < >= <=