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

标签 c# function visual-studio-2013 declaration

这段代码让我在 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/

相关文章:

c# - MessageBox模态到单一形式

c# - 这段代码实际上是线程安全的吗?

python - 如何让 Python 搜索文本文件并打印每个匹配的行?

c++ - Vstest.console.exe 在 Bamboo 中以代码 255 退出

c# - 在 .NET Core 1.0 中在运行时编译和运行代码

c# - 如何将电子邮件发送到 asp.net 中的 dropfolder?

php - 如何在 while 循环中连接表中的两列值,如 -product_name(product_quantity), ..... 并存储在变量中

c++ - 如何在设置字符串值时优化函数调用?

c# - 创建具有不同页数和自动分页符的可打印表单

c# - Visual Studio Express 2013 : Program output in unit tests (console, 调试等)