无效的C#8.0 switch语句

问题描述

我遇到以下错误:Only assignment,call,increment,decrement,await,and new object expressions can be used as a statement

public void LogClientSideErrors(string message,ValidationType validationType)
        => validationType switch
            {
                ValidationType.Success => setInfo(message,controllerInfo),ValidationType.Critical => setFatal(message,ValidationType.Error => setError(message,ValidationType.Exception => setError(message,ValidationType.Information => setInfo(message,ValidationType.Warning => setWarn(message,_ => setError("invalid enum value",}; 

更新:有效的解决方案:

internal static void GenerateLogs(string message,string controllerInfo,ValidationType validationType)
        => (validationType switch
        {
            var x when x == ValidationType.Success || x == ValidationType.Information => new Action<string,string>(setInfo),ValidationType.Critical => setFatal,var x when x == ValidationType.Error || x == ValidationType.Exception => setError,ValidationType.Warning => setWarn,_ => (_,controllerInfo) => setError("invalid enum value",})(message,controllerInfo);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)