中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

あなたならどうする?

P/Invokeを実装する際のコツじゃないですが、個人的に意は#defineはenum実装するべきだと思っていて、それを実行しています。

で、以下のような例あなたならどう実装します?

>  DMRES_DRAFT         = (-1),
>  DMRES_LOW           = (-2),
>  DMRES_MEDIUM        = (-3),
>  DMRES_HIGH          = (-4),
>正の値が指定されると、インチ当たりのドット数 (DPI) を示します。そのため、値はデバイスに依存します。

負数は定数、整数はDPIって・・・(^^;;

投稿日時 : 2005年3月2日 23:59

コメントを追加

# re: あなたならどうする? 2005/03/03 0:00 中博俊

トリッキーに同じ番地にマッピングされた擬似共用体とか・・・

# Re: あなたならどうする? 2005/03/03 6:13 tadahiro@isisaka.com (Tadahiro Ishisaka)

#defineに概念的に一番近い物は定数なので定数。
逆に列挙型にする場合には、関連性のある(同一引数で使用される)定数毎にまとめることが必要ですし、どうするかは数にもよりますね。

# re: あなたならどうする? 2005/03/03 9:27 菊池

私は基本としてはConstかな。
Enum.GetValuesをする意味がありそうであればEnumですね。
ビットフィールドもEnumかな、Enumはビットフィールドを意識してるみたいだし

# re: あなたならどうする? 2005/03/03 12:47 じゃんぬねっと

うーむ、Const ですなぁ。

# re: あなたならどうする? 2005/03/03 13:38 中 博俊

まだ終わって無いけど、ラッパをかませて、enum版とshort版をオーバーライドかな。

# re: あなたならどうする? 2005/03/05 11:24 データ

ラッパをかませないで、enum版とshort版をオーバーライドするのも手かと。
SendMessageなんてそうしてます。

タイトル
名前
URL
コメント