2011-07-20 13 views
4

C++では、クラスを作成し、クラスを使用する開発者にヘッダーファイルと実装ファイルを渡して使用可能なコードモジュールを作成できます。C#で再利用可能なコードモジュール(C++スタイルクラス、ヘッダーなど)を作成する

私はこれをC#でやりたいと思いますが、私はC#言語に関する経験はほとんどありません。基本的には、Visual Studio 2010の別のC#プログラマーが再利用できるクラスを作成する必要があります。参照するDLLは他の人のクラスを使用する方法の1つです。達成したいことを達成するためにDLLを作成する必要はありますか?それとも他に良い方法がありますか?

たとえば、私が「黙らせる」ことができるCowクラスを作成するとしましょう。 C++では、私のクラスを使用する人はCow.hをインクルードし、CowオブジェクトmyCowをインスタンス化してから、myCow.moo()を呼び出します。 C#でこの簡単なタスクをどのように達成できますか?

あなたの時間と忍耐力に感謝します。

+1

要件に関するC++とC#の違いはほとんどありません。ソースを提供したり、アセンブリ(dll)をビルドして与えることができます。 C++のように。 –

+0

すべての答えをありがとう。私はさらに質問があります:私の監督は、私はこの目的のためにC#で "コンテナクラス"を作成してほしいと言った。私が誤解されていないなら、コンテナクラスはC++のものだと思いましたか?または、彼は間違ってその用語を使用していますか? – InvalidBrainException

+0

誰かがしたいことには答えられません...しかし、一般に "コンテナクラス"は言語に関係なく他のオブジェクトを含むことができるクラスです。 –

答えて

3

はい、ちょうどClass Libraryプロジェクトを作成し、結果として得られたdllを共有してください。

他の開発者は、dllへの参照を追加するだけで済みます。その後、ライブラリのパブリックオブジェクトを自由に使用できます。

+0

ああ、C#で再利用可能なクラスを作成する方法です!このタイプのVSプロジェクトを作成したことはありません。 – InvalidBrainException

+0

@Terribad:これは、結果として実行可能なプロジェクトのタイプであり、DLLのアセンブリだけです。 Btw、通常の実行可能なコンソールアプリケーションを作成して参照することもできます;-) – zerkms

+0

コンソールアプリケーションへの参照?!どのように動作するのだろうか:/ – InvalidBrainException

0

再利用可能なコードを配布するためにdllを作成するのが標準です。

あなたは古い学校のCOMオブジェクトを調べることができますが、私はそれらをはっきりと見分けて、よく組織されたクラスライブラリを使用します。

+0

ご返信ありがとうございます。それはDLLです – InvalidBrainException

0

もちろん、ソースファイルを共有することはできますが、再利用可能なコードを配布するための推奨される.Netの方法はdllです。これにより、.Net言語を使用している開発者は、コードを使用できます(プロジェクトと同じ言語を使用する必要はありません)。

また、プロジェクトの保守が容易になります。ソースコードを共有すると、単一のdllを更新する必要がある場合よりも、更新プログラムの配布が難しくなる可能性があります。複数のプロジェクトが同じdllを参照している場合は、同じ場所からすべてを参照できます。また、dllが更新されるたびに、そのプロジェクトを使用するすべてのプロジェクトは、次にプロジェクトをコンパイルするときに自動的に更新されたdllを使用します。 DLLを使用するプロジェクトを再コンパイルすることなくdllを更新することもできます(ただし、プロジェクトで使用されているものの名​​前やシグネチャは変更できません)。

+0

ブライアンの情報をありがとう。私はDLLがこれを行う標準的な方法であることを収集します。それはDLLです – InvalidBrainException

関連する問題