相关疑难解决方法(0)

我们是否应该始终在类中包含默认构造函数?

我被同事问过这个问题,我们是否应该在类中包含默认构造函数?如果是这样,为什么?如果不是,为什么不呢?

public class Foo {

    Foo() { }

    Foo(int x, int y) {
        ...
    } 

}
Run Code Online (Sandbox Code Playgroud)

我也有兴趣从专家那里了解一下.

.net c# clr default-constructor

67
推荐指数
4
解决办法
5万
查看次数

设计没有默认构造函数

我想使用默认构造函数限制创建对象.因为我有如下设计:

class Program
{
    static void Main(string[] args)
    {
        BaseClass bc = new BaseClass("","");
        XmlSerializer xml = new XmlSerializer(typeof(BaseClass));
        StreamWriter sw = new StreamWriter(File.Create("c:\\test.txt"));
        xml.Serialize(sw,bc);
        sw.Flush();
        sw.Close();
    }
}
[Serializable]
public class BaseClass
{
    public string UserName, Password;
    // I don't want to create default constructor because of Authentication
    public BaseClass(string _UserName, string _Password)
    {
        UserName = _UserName;
        Password = _Password;
        f_Authenticate();
    }
    private void f_Authenticate() { }
}

public class DerivedClass:BaseClass
{
    public DerivedClass(string _UserName, string _Password) : base(_UserName, …
Run Code Online (Sandbox Code Playgroud)

c# default-constructor

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

标签 统计

c# ×2

default-constructor ×2

.net ×1

clr ×1