结合使用IReadOnlyList和Unity for Hololens

时间:2018-07-27 02:07:43

标签: c# unity3d hololens

我正在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的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Unity的最新版本,则可以configure您的项目使用.NET 4.5+功能。

  1. 转到“编辑”->“项目设置”->“播放器”。

  2. 在设置选项卡中查找“其他设置”->“配置”->“脚本运行时版本”。将其设置为“ .NET 4.x等效项”。

从Unity 2018.1开始,此模式is considered稳定且“准备广泛使用”。除了IReadOnlyList之外,您还可以使用异步/等待和其他现代功能之类的好东西。