C#如何用两个不同的字符串重载add方法

C#如何用两个不同的字符串重载add方法,c#,C#,我一直在尝试构建下面的文本冒险,但遇到了一个无法解决的错误。错误是: Assets/My_Scripts/MH_Script.cs(19,23):错误CS1501:方法Add'takes 2'参数没有重载 以下是MH_Script.cs的开始代码,由于这是一个文本冒险,所以列表相当长 using UnityEngine; using System.Collections; using System.Collections.Generic; public class MH_Script {

我一直在尝试构建下面的文本冒险,但遇到了一个无法解决的错误。错误是:

Assets/My_Scripts/MH_Script.cs(19,23):错误CS1501:方法Add'takes 2'参数没有重载

以下是
MH_Script.cs
的开始代码,由于这是一个文本冒险,所以列表相当长

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class MH_Script {

    public static List<MH_ScriptManager> sList = new List<MH_ScriptManager>();

        public MH_Script(){

        sList.Add("start", "You awaken in a sweltering room....
这里是MH_ScriptManager:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class MH_ScriptManager{


    public Helpers.STATE gState;
    public string gScript;
    public string getCurrentState(){
        return gState;
    }

    public MH_ScriptManager (string state, string script){
        gState = Helpers.ParseEnum<Helpers.STATE>(state);
        gScript = script;
    }

    public string getStory(){
        return gScript;
    }

    public string getState(){
        return gState.ToString();
    }

    public void setStory(string script){
        gScript = script;
    }

    public void setState(string state){
        gState = Helpers.ParseEnum<Helpers.STATE>(state);
    }

    public bool compareStatetoString(string compare){
        if (gState == Helpers.ParseEnum<Helpers.STATE> (compare))
            return true;
        else
            return false;
    }
}
使用UnityEngine;
使用系统集合;
使用System.Collections.Generic;
公共类MH_脚本管理器{
公共助理。州政府;
公共字符串gScript;
公共字符串getCurrentState(){
返回gState;
}
公共MHU脚本管理器(字符串状态,字符串脚本){
gState=Helpers.ParseEnum(状态);
gScript=脚本;
}
公共字符串getStory(){
返回gScript;
}
公共字符串getState(){
返回gState.ToString();
}
公共无效集合(字符串脚本){
gScript=脚本;
}
公共无效设置状态(字符串状态){
gState=Helpers.ParseEnum(状态);
}
public bool compareStatetoString(字符串比较){
if(gState==Helpers.ParseEnum(比较))
返回true;
其他的
返回false;
}
}

有人能给我解释一下我做错了什么,以及我将来如何解决这个错误吗?

因为
Add
方法应该有一个参数,但是你给它两个参数,所以

 sList.Add("start", "You awaken in a sweltering room);
改为:

 sList.Add("You awaken in a sweltering room)

因为
Add
方法应该有一个参数,但您给它两个参数,所以

 sList.Add("start", "You awaken in a sweltering room);
改为:

 sList.Add("You awaken in a sweltering room)
接受单个参数,但在本例中,您传递的是两个参数,这会导致异常

另外,
sList
属于
MH_ScriptManager
类型,因此您需要的是

sList.Add(new MH_ScriptManager("start", "You awaken in a sweltering room..."));
接受单个参数,但在本例中,您传递的是两个参数,这会导致异常

另外,
sList
属于
MH_ScriptManager
类型,因此您需要的是

sList.Add(new MH_ScriptManager("start", "You awaken in a sweltering room..."));

我意识到这一点,但这并不是我想要实现的。感谢您的反馈!我意识到这一点,但这并不是我想要实现的。感谢您的反馈!这抛出了一个不同的错误
MH_Script.cs(13222):错误CS1729:type'MH_ScriptManager'不包含接受'2'参数的构造函数
它有一个接受两个参数的构造函数
MH_ScriptManager(字符串状态,字符串脚本)
,原因可能是其他原因。我还将其添加为
sList.add(新的MH_脚本管理器(“开始”,“你醒来…”
);`因为我相信脚本管理器之后的>是一个打字错误。啊..是的:-)。很抱歉,如果这解决了问题,请单击绿色复选标记将此标记为答案。没有,我只是得到了一个与上面所述不同的错误。这返回了一个不同的错误
MH_Script.cs(13222):错误CS1729:类型“MH_ScriptManager”不包含接受“2”个参数的构造函数
它有一个接受两个参数的构造函数
MH_ScriptManager(字符串状态,字符串脚本)
,原因可能是其他原因。我还将其添加为
sList.add(新MH_ScriptManager(“开始”,“你醒来…”
)`因为我相信>后脚本管理器是一个打字错误。啊。。是:-)。对此很抱歉,如果这解决了您的问题,请单击绿色复选标记将此标记为答案。没有,我只是收到了一个不同的错误,如上所述。我不能这样做吗?我的老师告诉我应该这样做。在她回答我错误之前,课程结束了。我只是想学这门语言,这是我的第一次。难道我做不到吗?我的老师告诉我应该这样做。在她回答我错误之前,课程结束了。我只是想学这门语言,这是我的第一次。