以下返回值的有效C#数据类型是什么?如何访问内部属性?

时间:2019-01-16 16:39:05

标签: c# types

我有以下方法:

private /*some type*/ abc(string a, string b){
    //...
    return new { success = false, responseText = "Input-Values not valid" };
}

对象不是我要搜索的类型,因为那样我就无法在第二种方法中访问abcReturn.successabcReturn.responseText或者还有另一种访问successresponseText的值的方法吗?因为调试时,我可以看到abcReturn确实包含成功和responseText的值。

我想以这种方式返回它,因为在第三种方法中,我想做return Json(abc(), JsonRequestBehavior.AllowGet);

2 个答案:

答案 0 :(得分:3)

您无法在c#中返回匿名对象,但可以返回这样的命名元组:

private (bool success, string responseText) abc(string a, string b)
{
    return (false, "Input-values not valid");
}

答案 1 :(得分:1)

为什么不使用字典?

using System.Collections.Generic;

private Dictionary<bool, string> abc(string a, string b) {
    //...

    Dictionary<bool, string> returnVal = new new Dictionary<bool, string>()
    {
        {"success", false},
        {"responseText", "Input-Values not valid"},
    };

    return returnVal;
}

然后要访问返回的值,您需要做:returnVal["success"]