属性“<propertyname>”的“Set”访问器不可访问

更新:2007 年 11 月

语句试图在无权访问某个属性的 Set 过程时存储该属性的值。

如果 Set 语句 (Visual Basic) 标记有限制性比其 Property 语句 更强的访问级别,在以下情况中,试图设置属性值的操作可能会失败:

  • Set 语句被标记为 Private (Visual Basic),并且调用代码位于其中定义了属性的类或结构的外部。

  • Set 语句被标记为 Protected (Visual Basic),并且调用代码既不在其中定义了属性的类或结构中,也不在派生类中。

  • Set 语句被标记为 Friend (Visual Basic),并且调用代码所在的程序集与其中定义了属性的程序集不同。

**错误 ID:**BC31102

更正此错误

  • 如果能够控制定义属性的源代码,请考虑使用与属性本身相同的访问级别声明 Set 过程。

  • 如果无法控制定义属性的源代码,或者必须使 Set 过程访问级别的限制性比属性本身更强,请尝试将设置属性值的语句移到可更好地访问属性的代码区域中。

请参见

任务

如何:声明具有混合访问级别的属性

概念

Property 过程