我有一個現有的部分類,有擴展方法應用於它,在一個項目。將屬性添加到現有的C#類中,而不會丟失現有的擴展方法?
我想在一個不同的項目中爲該類添加屬性,但是當我創建第二個部分類時,擴展方法消失。
最初,我創建了具有新屬性的類作爲原始類的子類,但是我想避免原始類的實例向新子類的繁瑣上傳(儘管這可能是「最好「的方式)。
反正有沒有丟失擴展方法添加屬性,沒有使用繼承?
我有一個現有的部分類,有擴展方法應用於它,在一個項目。將屬性添加到現有的C#類中,而不會丟失現有的擴展方法?
我想在一個不同的項目中爲該類添加屬性,但是當我創建第二個部分類時,擴展方法消失。
最初,我創建了具有新屬性的類作爲原始類的子類,但是我想避免原始類的實例向新子類的繁瑣上傳(儘管這可能是「最好「的方式)。
反正有沒有丟失擴展方法添加屬性,沒有使用繼承?
您不能跨項目聲明分部類 - 它必須位於單個項目中。
基本上,如果您需要類的額外屬性,您必須將它放在原始項目中。
另外,部分類不能有擴展方法,對嗎? –
@BalaR:不,沒有這樣的限制。只要它仍然是一個靜態的頂級非泛型類,那就好了。特別是在Edulinq中,我有一個龐大的部分班級分佈在各種文件中:) –
好吧,我明白了。你是對的。這並不是說擴展方法消失了,而是這個類被重新定義了。好吧,這是繼承。 –
我不是一個真正的專家,但正如您所指出的,我不確定以這種方式使用部分類是個好主意。 –