我正在Hololens项目中尝试使用类似的东西
public struct FD
{
public FD(string name, IEnumerable<double> ce)
{
Name = name;
CE = new ReadOnlyCollection<double>(new List<double>(ce));
}
public readonly string Name;
public readonly IReadOnlyList<double> CE;
}
但是Unity似乎不使用.NET 4.5,因此没有IReadOnlyList
。
过去,我发生了类似的事情,因为Unity不支持我想要的某些功能。但是,一旦它们从Unity编辑器中传递出去,就可以对其进行编译-或让我记得
那呢?
public struct FD
{
public FD(string name, IEnumerable<double> ce)
{
Name = name;
CE = new ReadOnlyCollection<double>(new List<double>(ce));
}
public readonly string Name;
#if UNITY_EDITOR
public readonly IList<double> CE;
#else
public readonly IReadOnlyList<double> CE;
#endif
}
在这种情况下,当使用单位编辑器时,仅考虑IList
,但之后使用IReadOnlyList
。你怎么看待这件事?或在Hololens项目中使用IReadOnlyList
的方法是什么?
答案 0 :(得分:1)
如果您使用的是Unity的最新版本,则可以configure您的项目使用.NET 4.5+功能。
转到“编辑”->“项目设置”->“播放器”。
在设置选项卡中查找“其他设置”->“配置”->“脚本运行时版本”。将其设置为“ .NET 4.x等效项”。
从Unity 2018.1开始,此模式is considered稳定且“准备广泛使用”。除了IReadOnlyList
之外,您还可以使用异步/等待和其他现代功能之类的好东西。