C# 实现从另一个构造函数调用构造函数的最佳方法? 设置 我有一个用FileInfo参数创建的类(我们称之为MyFileClass) 我有另一个场景,如果URL和描述作为字符串传入,它将创建一个文件,然后它将使用刚刚创建的文件的FileInfo对象创建MyFileClass

C# 实现从另一个构造函数调用构造函数的最佳方法? 设置 我有一个用FileInfo参数创建的类(我们称之为MyFileClass) 我有另一个场景,如果URL和描述作为字符串传入,它将创建一个文件,然后它将使用刚刚创建的文件的FileInfo对象创建MyFileClass,c#,inheritance,constructor,instantiation,C#,Inheritance,Constructor,Instantiation,我想象它看起来像: public MyFileClass(FileInfo info) { //do things } public MyFileClass (string url, string Description) { // var tempfile = FileInfo that results from creating file MyFileClass(tempfile) } 问题: 实施这一理念的正确方式是什么?我已经完成了文件创建部分,只是不太确

我想象它看起来像:

public MyFileClass(FileInfo info)
{
    //do things 
}

public MyFileClass (string url, string Description)
{
    // var tempfile = FileInfo that results from creating file 
    MyFileClass(tempfile)
}
问题:
实施这一理念的正确方式是什么?我已经完成了文件创建部分,只是不太确定以这种方式工作的语法。

您可以实现一个静态方法来创建文件信息

public class MyFileClass
{
    public MyFileClass(FileInfo info)
    {
        // do work
    }

    public MyFileClass(string url, string description)
        : this(GetFileInfo(url, description))
    { 
        // do more work
    }

    static FileInfo GetFileInfo(string url, string description)
    {
        return new FileInfo();
    }
}

啊,我明白了!我模模糊糊地理解了这一点,但有了额外的方法,它就完全有意义了。谢谢