小编Rob*_*oud的帖子

C#Static class vs struct用于预定义字符串

一位同事刚刚在C#中创建了以下构造(示例代码已经简化).他的目标是缩短其余代码中所有预定义字符串的表示法.

public struct PredefinedStrings
{
    public const string VeryLongName = "Very Long Name";
    public const string AnotherVeryLongName = "Another Very Long Name";
    public const string TheLastVeryLongName = "The Last Very Long Name";
}

public static void MethodThatUsesTheNames()
{
    Console.WriteLine(PredefinedStrings.VeryLongName);
    Console.WriteLine(PredefinedStrings.AnotherVeryLongName);
    Console.WriteLine(PredefinedStrings.TheLastVeryLongName);
}
Run Code Online (Sandbox Code Playgroud)

虽然它似乎对他来说很好,但我不禁想知道他是否应该使用静态类而不是结构,或者是否有更优雅的方法来实现这一点.

这样做的首选方法是什么?还请解释原因.

c# string struct static-classes

50
推荐指数
8
解决办法
2万
查看次数

是否有合并NUnit结果文件的工具?

由于不明原因,我的Nunit测试夹具无法在一次运行中执行,因此我不得不在单独的运行中执行一些测试.但是,这意味着测试结果将分割为多个输出文件.

是否有可用的工具可以将NUnit结果XML文件合并到一个XML文件中?

我尝试使用现有的Nunit-summary工具,但这只是依次用给定的XSL文件解析XML文件,并将结果连接成一个大文件.

相反,我希望首先将测试用例的结果合并/分组到正确的命名空间/ testfixtures中,然后将其提供给XSLT处理器.这样,所有测试结果都应该由夹具显示,即使它们没有在一次运行中收集.

nunit

15
推荐指数
1
解决办法
3584
查看次数

为什么C#自动属性不支持VB 2010等默认值?

看看新的VB 2010功能,我偶然发现了对Auto-Implemented Properties的支持.

由于我正在使用C#,这看起来很熟悉,但我注意到VB确实添加了我希望在C#中拥有的功能:为自动实现的属性设置任意默认值:

Public Class Person

    Property Name As String = "Scott Guthrie"
    Property Age as Integer = 35

End Class
Run Code Online (Sandbox Code Playgroud)

我真的很喜欢在C#中使用自动属性.这样可以节省我们每次只需要默认值时引入支持字段并将其挂接到属性的工作量,从而不必要地使代码混乱.

我想知道为什么这也不是在C#中引入的?不这样做的理由是什么?是否正在进行语法讨论,或者实现此方法是否存在技术限制?

c# vb.net .net-4.0 automatic-properties

8
推荐指数
2
解决办法
1459
查看次数