所以我使用 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 脚本的技术更现代。
这些是基于表达式的属性 (link)
对于这个表达:
public override string object_type => "access_token";
...等效的传统财产是:
public override string object_type
{
get { return "access_token"; }
}
这些应该编译成相同的东西。