小编pen*_*ake的帖子

可以伪造它(直到你做到了)TDD模式在没有真正的三角测量的情况下存在吗?

我曾经想过,一旦我'伪造'我的实现来进行测试通过,直到我应该离开这个假实现而不用REAL实现改变它.

如果TDD是关于RED-GREEN-REFACTORING; 如果我通过假装到达绿色,

  • 我应该立即实施明显的实施吗?

  • 或者我应该等到新的测试调用这个伪造的实现并失败,因为它没有按预期的方式运行?(根据我的说法,这听起来像三角测量)

所以我的问题是:

可以伪造('直到你成功!)测试驱动模式存在没有(deliberat或indeliberate)三角测量?

谢谢!

.net c# tdd unit-testing

4
推荐指数
1
解决办法
705
查看次数

如何保证自己不会错误地更新当前对象上的另一个对象?

当我使用引用类型时,你能建议我一种方法可以防止我出现这种情况吗?

var someCost = new Cost( Price: new Price(1000, "USD")
                        , CostType: "Type-A") ;

var candyCost = new Cost();

// Initialize candyCost.Price
candyCost.Price = someCost.Price; //Now candyCost Price is referencing 
                                 // price of someCost; 

// (.......)
// Some logic and code here
//and I forgot that I was referencing to someCost object's price object
//and I do stupid mistake:

candyCost.Price.Value = 5000; //Now I believe I have updated candyCost price 
                              //but I have also updated someCost!!
Run Code Online (Sandbox Code Playgroud)

其余的故事是关于调试以找出为什么someCost的价格更新.

我想通过这个例子简化问题.我希望你明白我的意思.

问题:你能否建议我一种方法来避免重复这样的错误?更新引用类型的值时的任何设计模式.

.net c# java design-patterns

4
推荐指数
1
解决办法
111
查看次数

使用"ref"键将"引用类型"作为参数传递给方法是否有意义?

可能重复:
C#:参考类型变量的"ref"有什么用?

嗨,

使用"ref"键将"引用类型"作为参数传递给方法是否有意义?

或者它只是废话,因为它已经是一个引用类型,但不是一个值类型?

谢谢!

.net c# parameters methods pass-by-reference

4
推荐指数
1
解决办法
433
查看次数

如何通过null检查TSQL将值设置为true或false?

如果字段不为NULL,则返回TRUE的正确语法是什么?如果TSQL中为NULL,则返回FALSE?

SELECT -- here return TRUE if table.Code IS NOT NULL. And FALSE otherwise
FROM table
Run Code Online (Sandbox Code Playgroud)

t-sql null expression

4
推荐指数
2
解决办法
6574
查看次数

如何从table1中选择前500行并将它们INSERT到table2?

我有完全相同的2个表:t2和t1.

t2有1000行,t1完全为空.

如何从t2中选择前500行并将它们插入到t1?

sql t-sql insert

4
推荐指数
2
解决办法
1万
查看次数

当我在类上调用静态方法时,我得到TypeInitializationException的原因是什么?

我在公共类上有一个静态方法.例:

public class MyClass {
 public static bool Test() { return true; }
}
Run Code Online (Sandbox Code Playgroud)

我从另一个班级的单元测试中调用它:

MyClass.Test();
Run Code Online (Sandbox Code Playgroud)

当调试器出现时,它抛出:TypeInitializationException:

{"'xxxxx.Yyyyy.MyClass'的类型初始化程序引发了异常."}

内部异常说:

{"值不能为空.\ r \nParameter name:container"}

知道为什么会这样吗?

注意:这是控制台应用程序中的一个类 - 如果它很重要.

.net c# exception

4
推荐指数
1
解决办法
5068
查看次数

如何为所有IEnumerable <Int32>覆盖ToString()方法?

我要重写ToString()IEnumerable<Int32>.

我在考虑使用Extension方法.

但是当我在下面这样做时,它仍然会ToString()打开电话System.Object.当我重命名我的方法时,它会调用我的方法.

由于我的扩展方法是静态类,我无法覆盖.

我怎么能这样做到这一点,我ToString()当我打电话实现被称为.ToString()List<Int32>的例子吗?

public static class ExtensionMethods
{
    public static new string ToString(this IEnumerable<Int32> set)
    {
        var sb = new StringBuilder();

        // Do some modifications on sb

        return sb.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# extension-methods overriding

4
推荐指数
1
解决办法
2895
查看次数

为什么.Concat方法的返回值类型看起来有点奇怪:System.Linq.Enumerable +(...)?

我有2个实例:

     foo and bar
Run Code Online (Sandbox Code Playgroud)

他们的类型是:

 foo.GetType().ToString()
Run Code Online (Sandbox Code Playgroud)

返回: System.Collections.Generic.List`1 [MyNameSpace.MyClass]

bar.GetType().ToString()
Run Code Online (Sandbox Code Playgroud)

返回: System.Collections.Generic.List`1 [MyNameSpace.MyClass]

当我将它们连接起来时:

var foobar = foo.Concat(bar);
Run Code Online (Sandbox Code Playgroud)

GetType()返回 System.Linq.Enumerable + d__71`1 [MyNameSpace.MyClass]

问题:这是什么意思?不应该是IEnumerable吗?

.net c# linq extension-methods concat

4
推荐指数
1
解决办法
307
查看次数

实体框架如何遍历太大的集合?

我是实体框架的新手。

我有一个担忧:

我需要遍历通过 LINQ to Entities 收集的大量数据,该数据以匿名类型组合了来自不同实体的几个属性。

如果我需要一项一项地读取此查询的返回项直到最后,由于集合很大或 EF 隐式使用 SqlDataReader,我是否会面临 OutOfMemory 异常的风险?

(或者我应该使用 EntityDateReader 来确保我按顺序读取 Db (但我猜我必须将查询生成为字符串))

.net c# entity-framework sqldatareader

4
推荐指数
1
解决办法
2276
查看次数

为什么\n在Log.Info方法中不起作用?

Log.Info中下面的String.Format方法中的\n将"\n"打印为文本而不是开始新行; 为什么它不起作用?任何的想法?我怎样才能使它工作?

Log.Info(String.Format("Some arguments : \n Since : {0}\nBefore: {1}\nLog file name : {2}", since, before,logFileName));
Run Code Online (Sandbox Code Playgroud)

谢谢!

.net c# log4net string-formatting

4
推荐指数
1
解决办法
1378
查看次数