我有一個叫做TDSeq的私有抽象類,其中有一些抽象成員和非抽象成員。有2個派生類,它從中獲取數據: - 私有類TDSeqBuy:TDSeq和私有類TDSeqSell:TDSeq。如何在公共課中訪問私人抽象類的成員以用於只讀目的?
我試圖訪問的私有抽象類的成員是private/public bools/doubles/integers。
數據通過受保護的抽象名稱{get;}從派生類流到私有抽象類。之後,數據被「移動」到上面提到的私人/公共布爾/雙打/整數。
我想從抽象類訪問數據的只讀目的公共類,但不知道如何做到這一點。有人可以幫忙嗎?
private abstract class TDSeq
{
public event SetupCompletedEventHandler SetupCompleted;
protected abstract double TDSTHigh { get; }
protected abstract double TDSTLow { get; }
protected abstract double SetupStopLevel { get; }
public double highesthigh = 0;
public double lowestlow = 0;
public double truerange = 0;
public double setupstoplevel = 0;
// ...
case TDSTStateSetup.Completed:
if(ValidSetup)
{
Print = "ValidExtSetup";
setupCount++;
SetupDrawText();
//Print = NameIndex;
}
else
{
Print = "ExtSetup Finalised";
tdsetupiscompleted = true;
if (tdsetupiscompleted)
{
Print = "tdsetupiscompleted";
}
if (tdsetupdirection == 1)
{
Print = "tdsellsetupiscompleted";
}
if (tdsetupdirection == -1)
{
Print = "tdbuysetupiscompleted";
}
highesthigh = TDSTHigh;
lowestlow = TDSTLow;
truerange = (highesthigh - lowestlow);
setupstoplevel = SetupStopLevel;
stateSetup = TDSTStateSetup.Finished;
}
// ...
}
我想公開訪問的最後5行...
'私人抽象類'?這是如何運作的? – BoltClock 2011-04-26 08:31:03
@BoltClock,它必須是一個嵌套類。這是這個工作的唯一可能的方式。 – 2011-04-26 08:31:55
你可以發佈一些代碼(類?)。一般來說,您不能訪問某個類的私有成員,即使在派生類中也是如此。 (如果問題是關於成員...) – 2011-04-26 08:32:41