- - PR -
【C#】 複数のクラス(プロジェクト)から共通の定数を使いたい
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-07-23 01:02
また初歩的な質問をします。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12010&forum=7 でも書かれていたことですが、 この例ででは、定数を集めたDLLを参照して使用するものでした。 しかし、こうするとDLLの数が増える気がします。 DLL化しなくても以下のような感じでいいでしょうか。 <DefConst.cs> namespace ManageUser { namespace clsConstant { class clsConstant { public const int DefMax = 100; public const int DefMin = -100; } } } <ClassOther.cs> namespace ManageUser { namespace Class1 { Class Class1 { public void Class1() { } public int Max() { clsConstant clsConst; return clsConst.DefMax; } } namespace Class2 { Class Class2 { public void Class2() { } public int Min() { clsConstant clsConst; return clsConst.DefMin; } } } | ||||||||
|
投稿日時: 2005-07-23 01:40
DLLにどう分けるかはOrionさんしだいです。 実際にやってみてはいかが。 そもそもDLLの数が増えること自体はたいした問題ではないですよね。 _________________ たつごろー codeseek こみゅぷらす | ||||||||
|
投稿日時: 2005-07-23 06:35
これって、DLL じゃなくて、.cs ファイルが減ってない?
_________________ | ||||||||
|
投稿日時: 2005-07-23 06:35
これって、DLL じゃなくて、.cs ファイルが減ってない?
_________________ | ||||||||
|
投稿日時: 2005-07-23 07:31
レス有難うございます。
DLLの数は結構重要だと思います。単純に定数を提供するだけのクラスだけ単独でDLL化するのはあまり気が進まないのです。 たくさんの機能があるクラスライブラリの一部のクラスが提供することなら良いのですが。 とりあえず試してみます。 C++のように#defineなどが使用できればいいのですが。しょうがないですね。 | ||||||||
|
投稿日時: 2005-07-23 07:53
いいと思います。 共通の固定リソースを特定のクラスにまとめるという意図ですよね。 ただ、もしも、ある定数が特定のクラス内に持つべき値だというときなら、私ならクラスに埋め込んでしまいます。クラスの特徴ならばクラス内に持ったほうがよいと思うからです。可変の値ならxmlに出します。 Orionさんが書かれたサンプルコードがそうだという意味ではないですよ。これは設計の方針等によってかわるところでもあります。 _________________ たつごろー codeseek こみゅぷらす | ||||||||
|
投稿日時: 2005-07-23 09:10
そうですね、クラスはデータと手続きをまとめたものですから。 私は必ずクラスに含めますね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-07-23 09:48
みなさんどうもありがとうございます。 そのクラスで必要なデータは当然クラス内で定義すべきものだと 僕も思います。 ただ、今回は、単純にC++の #define XXX 1 の様な事をしたいだけなのです。 (各クラス共通の値として使用したいのです。) |