2011-01-21 3 views
9

をタイプエイリアスを定義するには、の線に沿って何かを書くのは簡単ですさまざまなバイナリを取得するための適切なバージョン。は、複数のファイル間のC#でC++で

私はあなたの線に沿って似たような行うことができますC#で知っている:あなたはtypedefのと同様の意味を得ることができるように

using Real = double; 

を。 しかし、上記のC++コードに似た何かを行うことは可能ですか?すべての単一ファイルに書き込む必要はありませんか?

+3

o__O「クワッド」は何ですか? – Mehrdad

+0

バイナリがアセンブリの場合、IMOはDependency Injectionの候補のように聞こえます。 – Terrance

+1

@Mehrdad:doubleの2倍の仮想浮動小数点データ型です。 –

答えて

6

組み込みのIL演算子を使用する場合は必要ありません。ファイル単位で行う必要があります。あなたは(私はあなたがを行う疑いがある)ことを必要としない場合は、あなたはそれをカプセル化することができstruct

(REAL_TYPEがRealを宣言単一ファイルにusing別名がある)
public struct Real { 
    private readonly REAL_TYPE value; 
    public(REAL_TYPE value) { this.value = value; } 
    // TODO add lots of operators (add, multiply. etc) here... 
} 

私のお金のために、その価値はありません。また、静的演算子がインシトゥの場合に得られるIL演算を直接実行する比較的遅い場合に使用します。

+0

だから私の唯一の唯一の選択肢は、すべてのファイルの先頭に#if #elsesの巨大なブロックであると思います。 –

+0

@Sagekillaまたはシナリオを完全に避けてください:)。 –

+0

私の要件の1つは、計算で使用されるさまざまなレベルの精度を指定できることです。速度と精度のトレードオフがあり、場合によっては倍精度を使用する点はなく、他の点では絶対最小です。 –

-3

最も近いものは部分クラスになります。 partial classesを使用すると、複数のファイルにまたがって1つのクラスを定義できます。

+4

それはまったくこの目的を達成しません。 'using'エイリアスは部分クラスの異なるファイル間では適用されません。 –

関連する問題