首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#使用init块的Java匿名内部类的等价物

在C#中,使用init块的等价物是构造函数。在Java中,匿名内部类是一种简化的方式来创建一个实现了某个接口的类的实例。然而,C#没有直接的匿名内部类的概念。

在C#中,你可以使用委托和lambda表达式来实现类似的功能。但是,为了模拟Java匿名内部类的功能,你可以创建一个类,并在其构造函数中初始化所需的成员变量。

例如,假设你有一个Java接口MyInterface,其中有一个方法myMethod(),你可以在C#中创建一个类MyClass,并在其构造函数中初始化成员变量:

代码语言:csharp
复制
public class MyClass
{
    private Action myMethod;

    public MyClass(Action myMethod)
    {
        this.myMethod = myMethod;
    }

    public void InvokeMyMethod()
    {
        myMethod();
    }
}

然后,你可以使用lambda表达式创建一个MyClass实例,并传递一个方法作为参数:

代码语言:csharp
复制
var myInstance = new MyClass(() => Console.WriteLine("Hello, world!"));
myInstance.InvokeMyMethod();

这将输出"Hello, world!",类似于Java中的匿名内部类。

需要注意的是,这只是一个简化的示例,实际应用中可能需要更复杂的逻辑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券