gpt4 book ai didi

c# - VS2013 C# 函数声明 => 符号

转载 作者:行者123 更新时间:2023-11-30 14:23:45 25 4
gpt4 key购买 nike

这段代码让我在 vs2013 中出错 ...我现在不明白为什么......有人可以帮助我吗?!我的问题是我不知道 => 的含义以及如何修复错误

using System;

namespace SmartStore.Core.Logging
{
public static class LoggingExtensions
{
public static bool IsDebugEnabled(this ILogger l) => l.IsEnabledFor(LogLevel.Debug);


public static void Fatal(this ILogger l, string msg) => FilteredLog(l, LogLevel.Fatal, null, msg, null);
public static void Fatal(this ILogger l, Func<string> msgFactory) => FilteredLog(l, LogLevel.Fatal, null, msgFactory);

public static void ErrorsAll(this ILogger logger, Exception exception)
{
while (exception != null)
{
FilteredLog(logger, LogLevel.Error, exception, exception.Message, null);
exception = exception.InnerException;
}
}

private static void FilteredLog(ILogger logger, LogLevel level, Exception exception, string message, object[] objects)
{
if (logger.IsEnabledFor(level))
{
logger.Log(level, exception, message, objects);
}
}

private static void FilteredLog(ILogger logger, LogLevel level, Exception exception, Func<string> messageFactory)
{
if (logger.IsEnabledFor(level))
{
logger.Log(level, exception, messageFactory(), null);
}
}
}

最佳答案

在这种情况下,=> 表示一个expression-bodied 成员 并且等同于:

public static void Fatal(this ILogger l, Func<string> msgFactory) 
{
return FilteredLog(l, LogLevel.Fatal, null, msgFactory);
}

但是,此语法是在 C# 6 中引入的,它需要 Visual Studio 2015 编译器或更新版本。切换到方法语法或升级您的 visual studio 版本。

关于c# - VS2013 C# 函数声明 => 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44013095/

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