属性、索引器或事件“name”不受现用语言支持;请尝试直接调用访问器方法“name!”
使用导入的元数据(由另一个编译器生成)时,会出现此错误。 代码尝试使用编译器无法处理的类成员。
下面的 C++ 程序使用了其他语言不能使用的属性 RequiredAttributeAttribute。
C++
// CPP0570.cpp
// compile with: /clr /LD
using namespace System;
using namespace System::Runtime::CompilerServices;
namespace CS0570_Server {
[RequiredAttributeAttribute(Int32::typeid)]
public ref struct Scenario1 {
int intVar;
};
public ref struct CS0570Class {
Scenario1 ^ sc1_field;
property virtual Scenario1 ^ sc1_prop {
Scenario1 ^ get() { return sc1_field; }
}
Scenario1 ^ sc1_method() { return sc1_field; }
};
};
下面的示例生成 CS0570。
C#
// CS0570.cs
// compile with: /reference:CPP0570.dll
using System;
using CS0570_Server;
public class C {
public static int Main() {
CS0570Class r = new CS0570Class();
r.sc1_field = null; // CS0570
object o = r.sc1_prop; // CS0570
r.sc1_method(); // CS0570
}
}