5
を設定して上書きすることはできません:は、保護されたプロパティの私は、次の基本クラスを持っている
abstract class Base
{
public abstract object Var
{
get;
protected set;
}
}
そして、この派生クラス:
class Derived : Base
{
public override object Var
{
get {//code here
}
set {//code here -- I get error here!
}
}
}
しかし、私はこのエラーを取得しています:
Cannot change access modifier when overriding 'protected' inherited member 'Var'
私は設定する前にprotected
とのキーワードを追加しようとしましたが、助けにはなりませんでした。これをどうやって解決するのですか?
UPDATE:
基底クラスはサブクラスが作成時にVar
のための価値を提供することを確認する必要があります。ですから、私はSetterをBaseクラスで宣言する必要があります。
また、プライベートメンバー変数を宣言してこれを行い、セッターを削除することもできますが、これは説明したようにオプションではありません。here
ああ私の神:このプロパティのセットは、お使いのベースクラスでの視認性を保護していたので、あなたはエラー
あなたの派生クラスでセット保護の視認性を与えることによって、それを修正することができますを取得しています!愚かなVS!私が私のポストで言ったように、私はこれを試してみたが、助けにはならなかった。あなたがそれを言いました、それはまだ動作しませんでした、私はあなたの答えを見直して再コンパイルし、それが消えたと再試行しました!では今私は何をしますか?私はあなたの答えを受け入れるべきですか、私は私の投稿を削除すべきですか? – atoMerz
@AtoMerZ - 私は最良の答えを受け入れていきます。質問は答えをアップアップしているので、それを削除するにはMODが必要です。誰のためにも問題はありません。 –