C# Lambda => 表达式在 Visual Studio 2010 中从反向工程 DLL 失败

问题描述 投票:0回答:1

所以我使用 jetbrains 的 dotpeek 逆向工程了一个 DLL,它编写的代码太现代了。我留下了 Visual Studio 2010 无法理解的 lambda => 表达式。所有这一切的目标都是用可编辑的源代码替换 dll。

我需要看看如何在不使用 lambda 的情况下重写这些语句。这里不包括,有些我可以重写,但我复制粘贴我不明白如何重写。

1: public override string object_type => "access_token";
2: public override string resource => "/access_tokens";
3: public override string object_type => "account";
4: public override string resource => "/accounts";
5: public virtual string object_type => "";
6: public virtual string resource => "";
7: public override string object_type => "payment_method";
8: public override string resource => "/payment_methods";
9: public override string object_type => "transaction";
10: public override string resource => "/transactions";

我不明白这种性质的陈述。不过,所有这些语句都很相似,所以如果我能理解其背后的概念,我应该能够用更原始的语句替换所有这些语句,以便在旧版本的 Visual Studio 中工作。

我尝试在基于 2010 Visual Studio 编译器的旧服务器 2012 系统上运行所有这些语句,但它都用红色强调了这些语句,并且在它们上失败。我认为这是因为 Lambda => 语句比用于运行 Visual Studio C# asp.net 脚本的技术更现代。

c# lambda
1个回答
0
投票

这些是基于表达式的属性 (link)

对于这个表达:

public override string object_type => "access_token";

...等效的传统财产是:

public override string object_type 
{
    get { return "access_token"; }
}

这些应该编译成相同的东西。

© www.soinside.com 2019 - 2024. All rights reserved.