12

使用 C# 类型别名而不是 CTS System.* 类型(int代替Int32string代替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 位机器上运行它的代码,并且很可能他没有意识到这一点int32并且int只是别名,这将使他做出错误的假设。

换句话说,即使从功能的角度来看没有任何区别,为了避免代码中的歧义(参考大概是 32 位代码),我建议使用int.Parse(..)

于 2012-04-26T15:19:39.873 回答