7

次の VB.NET クラス定義があります。

<Serializable()> Partial Public Class Customers
End Class

別のファイル内には同じものがあります(もちろん、メソッドと変数は異なります)。コンパイルすると、次のエラーが発生します。

属性 'SerializableAttribute' を複数回適用することはできません。

エラーはかなり自明です。私の質問は、1 つのクラスを Serializable() としてマークするだけで、クラス全体が serializable() としてマークされていると仮定できますか? つまり、serializable() タグはクラス内の 1 か所だけでよいのでしょうか?

4

2 に答える 2

10

クラスごとに一度だけマークする必要があるため、複数の「部分的な」定義を持つクラスでは、他のすべてのファイルからそれを削除するだけです。「部分的な」もの全体は、コードを視覚化する方法にすぎないため、一度適用すると、クラス全体に適用されます。

于 2009-05-29T21:28:13.853 に答える
7

はい、部分クラスの 1 つに入れるだけで済みます:
http://msdn.microsoft.com/en-us/library/wa80x488.aspx

コンパイル時に、部分型定義の属性がマージされます。

于 2009-05-29T21:29:50.450 に答える