找不到构造函数?

时间:2014-03-24 14:02:13

标签: c#

不知怎的,我的一个类中的构造函数没有找到参数... 有没有人经历过这个?

这是我的代码以及我如何调用它:

MoveFiles类:

class MoveFiles
{
    #region Variables

    //Variables
    public string strSrcPath, strDstPath, strFdrName, strNewDestFldrPath = "";
    Main frm = new Main();

    #endregion

    #region Constructor

    //Constructor - accepts the path and store the value
    private void MoveFiles(string strSourcePath, string strDestPath, string strFldrName)
    {
        strSrcPath = strSourcePath;
        strDstPath = strDestPath;
        strFdrName = strFldrName;
    }

    #endregion     
    ETC....

那么这就是我所说的:

//move the files based on the source path, destination path, and folder name
MoveFiles moveFile = new MoveFiles(strSrcPath, strDestPath, strFoldrName); 
moveFile.StartMove();

我调用它的地方给了我一个错误,构造函数没有采取三个参数....

任何人都有这样的问题,你是如何解决的? 或者我只是瞎了,那里真的还有什么吗?

6 个答案:

答案 0 :(得分:6)

private void MoveFiles替换为public MoveFiles

答案 1 :(得分:4)

将构造函数更改为

public MoveFiles(string strSourcePath, string strDestPath, string strFldrName)
{
    strSrcPath = strSourcePath;
    strDstPath = strDestPath;
    strFdrName = strFldrName;
}

private void表示这是实例方法,而不是构造函数。并且施工人员没有返回类型。

答案 2 :(得分:1)

您的构造函数是私有的

private void MoveFiles(string strSourcePath, string strDestPath, string strFldrName)
{
 .....
}

将其更改为public(也是构造函数没有返回类型):

public MoveFiles(string strSourcePath, string strDestPath, string strFldrName)
{
 .....
}

答案 3 :(得分:0)

这可能是因为你制作了构造函数private而不是publicprotected

答案 4 :(得分:0)

除非您从内部实例化该类,否则您将无法将重载的构造函数设为私有,而是将其标记为public。并删除返回类型void

答案 5 :(得分:0)

构造函数没有返回类型。远程void

//Constructor - accepts the path and store the value
private MoveFiles(string strSourcePath, string strDestPath, string strFldrName)
{
    strSrcPath = strSourcePath;
    strDstPath = strDestPath;
    strFdrName = strFldrName;
}

另请注意,私有构造函数只能在同一个类中调用。你可能打算公开这个。