12

CTS System.* 型の代わりに C# 型エイリアスを使用するのが一般的です (intの代わりにInt32とのstring代わりにString)。ただし、この場合、タイプの静的メソッドを呼び出すために何を使用するかは明確ではありません。エイリアスまたはシステムタイプです。

Microsoft は、システム型の代わりにエイリアスを使用するためのガイドラインを定義していないようです。ただし、MSDN ではエイリアスが変数に使用され、CTS の同等のエイリアスが静的呼び出しに使用されます。たとえば、MSDN: 数値文字列の解析

int number;
Int32.TryParse(value, out number);

StyleCop は、SA1121 で反対のことを定義してます - 常にエイリアスを使用します。そうint.Parseではありませんが、大丈夫Int32.Parseです。

この質問はスタイルの問題です(私の意見では)。しかし、静的呼び出しに CTS タイプを使用する理由がわかりません。

4

3 に答える 3

9

個人的には、静的メソッドの呼び出しには常に完全なクラス名を使用しています。これは、エイリアスが意味する最も単純な (プリミティブな) データではなく、実際にはコードの断片を含むクラスであるという事実を強調しています。

変数には常にエイリアスを使用します。

于 2012-04-26T15:12:13.303 に答える
5

コーディング スタイルだけで、技術的な違いはまったくありません。個人的には を支持しますが、その反対を好む有名な専門家int.Parseはたくさんいます。

于 2012-04-26T15:09:34.503 に答える
1

int.Parse(...)代わりに使用することを強くint32お勧めします。誰かが64ビットマシンで実行しているコードを読んだと想像してみてください。彼がそれを認識しておらずint32int単なるエイリアスである可能性が高い場合、間違った仮定をすることになります。

言い換えれば、機能的な観点からは違いがない場合でも、コードのあいまいさ(おそらく32ビットコードへの参照)を避けるために、使用することをお勧めしますint.Parse(..)

于 2012-04-26T15:19:39.873 に答える