gpt4 book ai didi

c# - C# 中的 java.lang.Void?

转载 作者:太空狗 更新时间:2023-10-29 20:25:54 24 4
gpt4 key购买 nike

我目前正在使用 .Net 2.0 并且有一个接口(interface),其泛型类型用于定义方法的返回类型。就像是

interface IExecutor<T> {
T Execute() { ... }
}

我的问题是一些实现这个接口(interface)的类实际上并不需要返回任何东西。

在 Java 中,您可以为此目的使用 java.lang.Void,但经过大量搜索后,我发现在 C# 中没有等价物。更一般地说,我也没有找到解决这个问题的好方法。我试图找出人们如何与代表一起做这件事,但也一无所获——这让我相信问题在于我不擅长搜索:)

那么解决这个问题的最佳方法是什么?你会怎么做?

谢谢!

最佳答案

您将不得不要么只使用 Object 并返回 null,创建自己的对象来表示 void,要么只创建一个单独的接口(interface)来返回 void。

这是第二个的想法:

public class Void
{
public static readonly Void Instance = null; // You don't even need this line
private Void() {}
}

这样就不能创建类的实例。但是你有东西可以代表它。我认为这可能是做你想做的最优雅的方式。

此外,您可能希望创建类(class) sealed也是。

关于c# - C# 中的 java.lang.Void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2615170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com