閱讀英文

共用方式為


編譯器錯誤 CS0546

'accessor' : 因為 'property' 沒有可覆寫的 set 存取子,所以無法覆寫

嘗試覆寫屬性的其中一個存取子方法失敗,因為無法覆寫存取子。 此錯誤可能會在下列情況中發生:

  • 基底類別屬性未宣告為 virtual

  • 基底類別屬性未宣告您嘗試覆寫的 getset 存取子。

如果您不想要覆寫基底類別屬性,則可以在衍生類別中的屬性之前使用 new 關鍵字。

如需詳細資訊,請參閱 Using Properties

範例

下列範例會產生 CS0546,因為基底類別未宣告屬性的 set 存取子。

// CS0546.cs  
// compile with: /target:library  
public class a  
{  
   public virtual int i  
   {  
      get  
      {  
         return 0;  
      }  
   }  
  
   public virtual int i2  
   {  
      get  
      {  
         return 0;  
      }  
  
      set {}  
   }  
}  
  
public class b : a  
{  
   public override int i  
   {  
      set {}   // CS0546 error no set  
   }  
  
   public override int i2  
   {  
      set {}   // OK  
   }  
}  

另請參閱