小编ram*_*nik的帖子

练习执行TDD和Mocking等良好实践

我正在寻找能够提供实际课程计划或途径的资源,以鼓励和加强TDD模拟等编程实践.有很多资源可以显示示例,但我正在寻找一些实际上提供了进展的东西,它允许学习概念而不是强制仿真.

我的主要目标是加快某人理解TDD背后的概念并实际有效实施它们的过程.有这样的免费资源吗?

tdd mocking

20
推荐指数
2
解决办法
2202
查看次数

如何针对已更改的类型反序列化旧数据?

我有使用二进制序列化为以下类存储的数据:

[Serializable]
public abstract class BaseBusinessObject
{
    private NameValueCollection _fieldErrors = new NameValueCollection();

    protected virtual NameValueCollection FieldErrors
    {
        get { return _fieldErrors; }
        set { _fieldErrors = value; }
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

在某些时候,课程改为:

[Serializable]
public abstract class BaseBusinessObject
{
    private Dictionary<string, string> _fieldErrors = new Dictionary<string, string>();

    protected virtual Dictionary<string, string> FieldErrors
    {
        get { return _fieldErrors; }
        set { _fieldErrors = value; }
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

这导致了对旧数据进行反序列化的问题.

我的第一个想法是实现ISerializable,但是这个类有许多属性以及数百个继承类,我也必须实现它.

我想在反序列化期间更改旧数据以匹配当前结构,或者有一种干净的升级旧数据的方法.

c# serialization binary-serialization

9
推荐指数
1
解决办法
691
查看次数

处理"繁重"数据时,WinForms UI响应能力

我正在修改Windows窗体以允许在UI保持响应的同时在后台加载数据.数据需要花费大量时间来检索和绑定.理想情况下,我会在后台执行这两项工作,但是我在后台应该做什么样的UI更新(如在主线程外部),这有些含糊不清.在后台显示数据检索和数据绑定的一个可靠示例将非常有用.

data-binding user-interface multithreading backgroundworker winforms

5
推荐指数
1
解决办法
1122
查看次数

将没有属性的类标记为Serializable是没有意义的吗?

我在代码库中处理代码分析警告时遇到了这段代码.我想更改名称,但不是否会导致序列化问题.虽然它看起来像它是可序列化的没有意义,但我只想检查以确保在删除属性之前我没有遗漏某些东西.

[Serializable]
public class FileIsNotReadonlyVerifier : IFileVerifier
{
    #region IFileVerifier Members
    public void Verify(FileInfo file, FlatFileTrafficSystem system)
    {
        if ((file.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
        {
            throw new VerificationException(Resources.VerificationException_FileIsReadonly);
        }
    }
    #endregion
}
Run Code Online (Sandbox Code Playgroud)

c# serialization

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