这是我的一个C#项目中的代码,目标是 .NET Core 3.0(因此我应该在 C# 8.0 中编写)。我使用的是 Visual Studio 2019 (16.3.9)。
public interface IJsonAble
{
public string ToJson() => System.Text.Json.JsonSerializer.Serialize(this);
}
public class SumRequest : IJsonAble
{
public int X { get; set; }
public int Y { get; set; }
public void Tmp()
{
new SumRequest().ToJson(); //compile error
}
}
编译错误为:
CS1061 'SumRequest' 不包含名称为 'ToJson' 的定义,且没有找到接受类型为 'SumRequest' 的第一个参数的可访问扩展方法 'ToJson'(是否缺少 using 指令或程序集引用?)
有人能解释一下这种行为吗?