检查If或Switch语句中的API值

时间:2016-07-17 06:50:06

标签: c# json api xamarin

我正在开发一个项目,我们使用api作为后端和前端之间的链接进行通信。

我是使用API​​的新手,以前只使用过C#编程语言内置查询或存储过程的连接字符串。目前我正在使用Xamarin.Forms,我想知道是否有人有解决方案。

我们对一个值有不同的法规,我想根据状态更改标签颜色,所以像这样。

public ExtendedLabel MyApiValue { get; private set; }

            var MyApiValue = new ExtendedLabel()
if(MyApiValue = "The Status of the API");
        {
            FontFamily = "Poppins-Regular.ttf",
            BackgroundColor = Color.FromHex("Green"),
            Text = " Verified ",
            TextColor = Color.White,
            FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
            HorizontalOptions = LayoutOptions.Center,
            VerticalOptions = LayoutOptions.Center
        };

    else;
        {
            FontFamily = "Poppins-Regular.ttf",
            BackgroundColor = Color.FromHex("Red"),
            Text = " Verified ",
            TextColor = Color.White,
            FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
            HorizontalOptions = LayoutOptions.Center,
            VerticalOptions = LayoutOptions.Center
        };

请记住,他的代码有语法错误,我不是在修改代码之后。只是一条如何解决这个问题的途径。我想访问我的API中的值,并根据我的UI的API状态使用它来区分不同的标签。

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议将你的州作为枚举

public enum SomeState {
    ok, error, unkown
}

通过这种方式,您可以轻松地在switch中使用它们,而且您不必处理一些神奇的常量,但您有实际有意义的名称。

SomeState x = ...;

switch(x) {
    case SomeState.ok: ... break;
    case SomeState.error:  ... break;
    case SomeState.unkwown: ... break;
}