gpt4 book ai didi

C#强制所有类都有一个给定名称的方法的方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:23 25 4
gpt4 key购买 nike

我不确定这是否有意义,因此广泛询问。是否有可能强制一组类始终实现具有给定名称 的函数。每个类中的方法可能具有不同的签名 - 但应该具有相同的名称。一些如下:

public class ClassOne {
public int GetSomething (int a, int b, out int c) { }
}

public class ClassTwo {
public int GetSomething ( int a, out string b) {}
}

我希望任何编写 ClassThreeClassFour 作为该库的一部分的人都可以实现 GetSomething 方法。是否有允许执行此操作的 C# 构造?

不查看对此的设计审查 - 只是想知道是否可以在不通过代码审查手动强制执行的情况下实现。

最佳答案

您不能使用开箱即用的 C# 来做到这一点。 C# 具有抽象类和接口(interface),但它们需要方法的特定签名,而不仅仅是名称。

你可以通过创建 code analyzers in Roslyn 来让它工作,您可以在其中检查您的代码是否具有所需的方法。

但是,我认为您不应该做这一切。我认为您在此处要求具有特定名称的方法而不强制其参数是一个设计缺陷。

您始终可以实现类似于每个 C# 应用程序中的 Main 方法的方法。它使用 string[] 作为参数,您可以在其中放入多个变量。在您的情况下,我会选择 object[]。但是,这种设计的缺陷也太明显了。

关于C#强制所有类都有一个给定名称的方法的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44279618/

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