c#中的重载()操作符

本文关键字:操作符 重载 | 更新日期: 2023-09-27 18:13:41

我有一个叫做Lazy的类,它的全部目的是包含一个不接受参数并返回值的Func

public class Lazy<A> {
    Func<A> a;
    public Lazy(A val){
        a = () => val;
    }
    public A operator () ()
    {
        return a();
    }
}

正如这里所描述的,我想定义()操作符,这样我就可以自然地执行内部函数。但是我得到了这个错误

类、结构或接口成员声明中出现意外符号' ('

似乎语法错误。正确的做法是什么?

c#中的重载()操作符

c#中可以重载的操作符有:

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