我定义了以下结构:
public struct Call
{
public SourceFile caller;
public SourceFile callee;
public Call(SourceFile caller, SourceFile callee)
{
this.caller = caller;
this.callee = callee;
}
}
后来,我将它分配给另一个对象的 Tag 属性:
line.Tag = new Call(sf1, sf2);
但是当我尝试像这样检索 Tag 属性时,
Call call = line.Tag as Call;
Visual Studio 给出以下编译时错误:
运算符 as 必须在引用类型或可为空的类型中使用
那是什么意思?我该如何解决?