0

1つのソリューションModelProjectとPluginProjectに2つのC#.NETプロジェクトがあります。PlugInProjectは別のアプリケーションのプラグインであるため、そのAPIを参照します。PlugInProjectは、プラグインするアプリケーションからデータを抽出するために使用されます。ModelProjectには、PlugInProjectによって抽出されたクラスのデータモデルが含まれています。

抽出されたデータは、アプリケーションやプラグインとは関係なく使用できます。そのため、PlugInProjectをModelProjectから分離しています。ModelProjectをPlugInProjectおよびApplicationsAPIから独立させたい。つまり、PlugInProject、アプリケーション、またはアプリケーションのAPIにアクセスしなくても、抽出されたデータに誰かがアクセスできるようにしたいのです。

私が遭遇している問題は、PlugInProjectがModelProjectでクラスを作成および変更できる必要があることです。ただし、ModelProjectを使用している人にはこれらのアクションを公開したくありません。抽出されたデータは、後でPlugInProjectによって変更されない限り、事実上読み取り専用である必要があります。

これらのプロジェクトを分離して、PlugInProjectにModelProjectへの排他的アクセスを許可するにはどうすればよいですか?これは可能ですか?

4

2 に答える 2

2

ModelProject オブジェクトを内部で変更するメソッドを定義して、ModelProject を使用する他のプロジェクトがこれらのメソッドを呼び出せないようにし、InternalsVisibleToAttributeを使用して、PlugInProject に ModelProject の内部メソッドへのアクセスを許可することができます。

于 2010-04-29T07:23:48.853 に答える
0

継承を使用して ModelProject のクラスを拡張できますか?

于 2010-04-29T02:50:43.777 に答える