0
class a : System.UI.Page {
int ab= c;
}
class b : a
{
public int c= 0;
}

アクセスできません。私はasp.netのControl.NamingContainerプロパティによってページ上の任意のコントロールにアクセスできますが、フォーム(つまりクラスb)にあるクラス(つまりクラスa)からパブリック変数にアクセスする必要があるため、私の形の50の特定の方法。

4

2 に答える 2

2

継承されたクラスがそれにアクセスできるように、基本クラスに変数を置くことができます。例えば:

class a : System.UI.Page
{
    protected int c = 0;
}

class b : a
{
    protected void DoSomething()
    {
        c = 1; //Access c from derived class.
    }
}

また、このプロパティがインスタンス固有でない場合は、ASP.NET アプリケーション内のどこからでもアクセスできる Global.asax ファイルの静的プロパティをいつでも使用できます。セッション固有の場合は、プロパティにセッションにアクセスさせ、そこから値を保存/取得して、各ユーザーセッションが独自の値を持つようにするだけです。

お役に立てれば!

于 2013-02-01T14:27:26.350 に答える
0

継承を間違った方法で使用していると思います。これを試してください、うまくいくはずです:

public class a : b {
    int ab = c;
}

public class b : System.UI.Page
{
    public int c = 0;
}
于 2013-02-01T14:58:43.413 に答える