這可能是一個愚蠢的問題,但我很想知道是否有辦法做到這一點。結合動態類型
爲了簡化導入大量空間分隔文件的過程,我想出了一個簡單的方案來描述動態類型的佈局,並將其引發到調用委託的分析器。
佈局看起來喜歡這樣的:
var layout = new
{
Code = new SDFColumn() { Start = 0, Length = 20 },
Name = new SDFColumn() { Start = 20, Length = 3 }
// etc
};
所有的偉大工程。我現在處於一種情況,我有兩個非常大的SDF進口,其結構是85%相同的,最終會阻止一些差異。
是否有辦法追加彼此的佈局,如:
var layoutCommon = new
{
/* Common fields */
};
var layoutFile01 = new
{
/* Changes for first file type */
};
var layoutFile02 = new
{
/* Changes for the second file type */
};
var finalLayout = /* ??? */;
有一件事,我意識到是行不通的,是:
var completeLayout = { };
if(file01)
completeLayout = { /* everything */ };
else
completeLayout = { /* everything */ };
這不起作用,很明顯,因爲所有3種類型都有根本的不同。
任何想法,將不勝感激:)
如何使用繼承?將所有常用字段放在基類中,並在派生類 –
@dano_ramos中指定特定字段,我意識到可以爲每個佈局創建一個類,但是想法是爲了避免這樣做,只需定義佈局的簡單性即可在我需要的功能範圍內,因此我沿着這條路線前進。 –
的確聽起來更靈活。現在,你讓我感興趣 –