2009-09-08 6 views
5

私はこのようになりますC#の列挙があります:私は大手を追加先頭の数字を持つ列挙型の値の命名規則はありますか?

public enum EthernetLinkSpeed { 

    [Description("10BASE-T")] 
    _10BaseT, 

    [Description("100BASE-T")] 
    _100BaseT, 

    [Description("1000BASE-T")] 
    _1000BaseT, 

    [Description("Disconnected")] 
    Disconnected 
} 

は、コンパイラを幸せにするために各値にアンダースコア。

このような列挙の標準命名規則はありますか?私が使用したアンダースコアは最良の選択肢のようには見えません。

+0

私もアンダースコアを使用します。 –

+0

実際のeNumがパブリックビューに公開されていない場合は、コードが機能している限り、誰がそれを呼び出すか気にします! –

+1

@Peter M:後でコードを管理しなければならない他の開発者。 btw: "public enum EthernetLinkSpeed"は、パブリックビューに列挙型が表示されることを意味します。 – mmmmmmmm

答えて

11

ノー条約の知っているが、方法についての

public enum EthernetLinkSpeed { 
Link10BaseT, Link1000BaseT, LinkDisconnected 
} 
+0

+1シリアルポートの列挙では、この種の接頭辞(時にはより短い)を使用します。ボーレートの名前はBxxxxxです。ここでxxxxxは整数定数です.B9600は9600ボーレートです。とにかく、アイデアは同じです:短いプレフィックスは、コンテンツを識別するのに役立ちます。 –

+0

私は私の特定の例の答えとしてこの提案を選択しましたが、一般的な合意はある種の標準プレフィックスが必要であるように思われます。 – user158485

1

私は慣習があるかどうかわからないんだけど、このような何かが主観的に少ない「醜い」ことがあります

public enum EthernetLinkSpeed { 

    [Description("10BASE-T")] 
    TenBaseT, 

    [Description("100BASE-T")] 
    OneHundredBaseT, 

    [Description("1000BASE-T")] 
    OneThousandBaseT, 

    [Description("Disconnected")] 
    Disconnected 
} 
4

私はちょうどこの場合もっと記述的なものを探します。これらはコンパイル時のみ、彼らは長くなった場合でも、限り、あなたは好きなそれらを持つには損傷はありませんされているので

public enum EthernetLinkSpeed { 
    Connected10BaseT, 
    Connected100BaseT, 
    Connected1000BaseT, 
    Disconnected 
} 

:あなたは「切断」列挙型の値を持っているので、例えば、私のようなものを使用します単にコンパイラの命名規則に合うように記述的にすることを意味します。

2

直接的な答えが、ビルトインNetworkInterfaceType列挙型は、次の値が含まれないもの:

Ethernet, Ethernet3Megabit, FastEthernetT, FastEthernetFx, GigabitEthernet 

それは私の好みのために少し醜いですが、私はあなたのためのEthernet接頭辞を使用して検討するかもしれません列挙型:

public enum EthernetLinkSpeed 
{ 
    [Description("10BASE-T")] 
    Ethernet10BaseT, 

    [Description("100BASE-T")] 
    Ethernet100BaseT, 

    [Description("1000BASE-T")] 
    Ethernet1000BaseT, 

    [Description("Disconnected")] 
    Disconnected 
} 
+0

私が選んだ名前は間違いありません... – mmmmmmmm

0

お気づきのように、名前は重要です。ですから、ときどき非自明な選択肢を探索することは良いことです。私たちは通常、 'E' でそれらを接頭辞

public enum EthernetLinkSpeed { 

    [Description("10BASE-T")] 
    MegabitSlow, 

    [Description("100BASE-T")] 
    MegabitFast, 

    [Description("1000BASE-T")] 
    Gigabit, 

    [Description("Disconnected")] 
    Disconnected 
} 
1

public enum EthernetLinkSpeed 
{ 
    e10BaseT, 
    e100BaseT, 
    e1000BaseT, 
    Disconnected 
} 

私たちは、ビデオ解像度、720Pなどの多くに対処するため、我々はe720pを使用します。

完全に異なる代替。あなたのケースでは、名前を使う方がイーサネット、ファストイーサネット、ギガビットイーサネットの方が良いと思います。

0

関連するすべての列挙型に一意の接頭辞を追加することは、決して痛手ではありません。他に何もない場合は、ソースコードの検索/置換編集を手助けします。

関連する問題