可能我正在为我在团结中做的事情写错了方法c#

时间:2018-03-17 00:35:43

标签: c# unity3d

老实说,我无法想到一个标题......反正

我正在尝试创建一个类型

public enum AssemblyType{
    Name = "NameOfFile.dll",
  }

然后在团结检查员中,我会有一个这种类型的清单

public List<AssemblyType> requiredAssemblies = new List<AssemblyType> ();

我的期望是我会看到一个列表,我可以在其中设置一个下拉框列表到AssemblyType的名称

例如这个

在此内部

如果您没有获得图片 Day Colours列表为requiredAssembliessize与第一张图片上的Culling Mask类似

抱歉忘记了上述方法出了什么问题

此方法以统一方式返回此错误 Assets/Scripts/WebSharp.cs(21,16): error CS0029: Cannot implicitly convert type字符串'到int'

抱歉,我的问题已明确说明

从错误中我会(正如我所希望的那样)意识到enumint

我的问题是什么应该替换enum,因为string不能在课堂外存在

1 个答案:

答案 0 :(得分:2)

decorate

...不编译。所以我不确定问题是什么。

如果您只是尝试定义DLL名称列表,则只需要替换此

public enum AssemblyType{
    Name = "NameOfFile.dll",
}

用这个

public List<AssemblyType> requiredAssemblies = new List<AssemblyType> ();

如果您需要向用户公开更简单的名称,但让应用程序记住原始名称,则可以使用字典:

public List<string> requiredAssemblies = new List<string>
{
    "NameOfFile.dll",
    "NameOfOtherFile.dll",
    "Et cetera"
};

..然后使用public Dictionary<string,string> requiredAssemblies = new Dictionary<string,string> { {"NameOfFile1.dll",@"c:\SomeLongPath\NameOfFile2.dll"}, {"NameOfFile2.dll",@"c:\SomeLongPath\NameOfFile2.dll"}, {"NameOfFile3.dll",@"c:\SomeLongPath\NameOfFile3.dll"} }; 返回的列表填充您的控件。然后,您可以使用用户的选择在需要时在字典中查找完整路径。