Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 可能我在unity c中使用了错误的方法#_C#_Unity3d - Fatal编程技术网

C# 可能我在unity c中使用了错误的方法#

C# 可能我在unity c中使用了错误的方法#,c#,unity3d,C#,Unity3d,老实说,我想不出一个头衔……无论如何 我正在尝试创建一个类型 公共枚举程序集类型{ Name=“NameOfFile.dll”, } 在unity inspector中,我会有一个这种类型的列表 公共列表 在这里面 以防你看不到图像 Day colors将是列表required assemblies,size将类似于第一张图像上的Culling Mask 抱歉,忘记了上述方法的错误 此方法以统一形式返回此错误 Assets/Scripts/WebSharp.cs(21,16):错误CS002

老实说,我想不出一个头衔……无论如何

我正在尝试创建一个类型

公共枚举程序集类型{
Name=“NameOfFile.dll”,
}
在unity inspector中,我会有一个这种类型的列表

公共列表

在这里面

以防你看不到图像
Day colors
将是列表
required assemblies
size
将类似于第一张图像上的
Culling Mask

抱歉,忘记了上述方法的错误

此方法以统一形式返回此错误
Assets/Scripts/WebSharp.cs(21,16):错误CS0029:无法将类型
string'隐式转换为
int'

对不起,我的问题说得很清楚

从这个错误中,我(和我希望的任何人一样)意识到
enum
int

我的问题是,既然类之外不能存在
字符串,我应该用什么替换
枚举

public enum AssemblyType{
    Name = "NameOfFile.dll",
}
…不编译。所以我不确定问题是什么

如果您只是试图定义一个DLL名称列表,您只需要替换它

public List<AssemblyType> requiredAssemblies = new List<AssemblyType> ();
public List requiredAssembly=新列表();
用这个

public List<string> requiredAssemblies = new List<string>
{
    "NameOfFile.dll",
    "NameOfOtherFile.dll",
    "Et cetera"
};
public List requiredAssembly=新列表
{
“NameOfFile.dll”,
“NameOfOtherFile.dll”,
“等等”
};
如果需要向用户公开更简单的名称,但让应用程序记住原始名称,则可以使用字典:

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"}
};
公共字典requiredAssembly=新字典
{
{“NameOfFile1.dll”,@“c:\SomeLongPath\NameOfFile2.dll”},
{“NameOfFile2.dll”,@“c:\SomeLongPath\NameOfFile2.dll”},
{“NameOfFile3.dll”,@“c:\SomeLongPath\NameOfFile3.dll”}
};

…然后使用
requiredAssemblys.Keys
返回的列表填充控件。然后,当您需要时,您可以使用用户的选择在字典中查找完整路径。

枚举不能是字符串…是的,我知道我在问什么可以是字符串没有,字符串将创建要写入的字段,您可以创建这样的枚举:
public enum MyEnum{OneValue,OtherValue}
它将显示一个下拉列表,其中包含
一个值
其他值
,但
.dll
部分无法实现。字符串可以是字符串。也许你在找一个列表?这个字符串将由一个指向dll文件的路径填充,这个路径可能很长,人们很难像那样导航。因此,为什么它需要一个更简单的名称@ChristiangollHardt该字符串更像是一个“路径\\to\\file”,因此整个目标是让用户能够轻松地根据名称进行选择,并根据您的新要求进行编辑。这正是我要找的。谢谢