C#中是否有内置类型包含bool和静态方法返回的字符串?

rae*_*ae1 3 .net c# types static-classes

我正在寻找一种从函数或方法返回的类型,首先传达它是否成功,然后将消息(作为字符串)附加到它以传递有关其失败原因的更多信息.它可能是应用程序退出代码的一部分; 但是,我不创建一整套退出代码来索引特定的错误消息.我喜欢单个"成功"退出代码的想法,因此可以快速检查呼叫是否失败并相应地工作.

我想把它作为一系列静态方法(如服务调用)的返回类型,为此我可以创建一个包含这两个字段的类(bool和string); 但是,我觉得这些可能已经存在,尽管我还没有找到它.此外,如果有更好的做法来处理从方法获得此类信息的返回,或者完全反对这些静态类的一般规则,我欢迎您的意见.

为了更好的可视化

    public static <type> CreateSomething(string somethingName)
    {
        ...
        return new <type>("Fail!", "Because...");
    }
Run Code Online (Sandbox Code Playgroud)

Rom*_*kov 5

有两种明显的方法:定义您自己的类型或使用Tuple<T1, T2>.

我认为你应该几乎总是只定义自己的类型.它没有任何成本.去做就对了.这就是你的意思.

如果你觉得特别懒惰......

public Tuple<bool, string> MyMethod(...)
{
    ...
    return Tuple.Create(false, "Something broke");
}
Run Code Online (Sandbox Code Playgroud)

  • @CodeInChaos我同意一种情绪,即元组是表示这些信息的_bad_方法.但是,OP要求带有bool和字符串的类型,因此OP获取带有bool和字符串的类型. (4认同)