gpt4 book ai didi

c# - 如何在 Unity 中全局为类创建别名?

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:39 27 4
gpt4 key购买 nike

现在,我正在使用“字符串”来枚举角色上的设备槽列表。我还使用“字符串”来枚举该项目可以装备的类类型。

这使得我获取、删除、生成等项目的所有方法都涉及两个字符串参数,即设备槽和类类型。

我真正想要的是使用 2 个类,以便我有 2 个强类型概念用于槽和 class_type。

问题是字符串是一个密封类,因此我不能扩展它!

我设想的一个解决方案是使用“using SlotType = string;”作为别名,但我不知道如何在全局范围内开展这项工作。

如何为类定义全局别名?

最佳答案

在 C# 中,您可以使用“using”创建类型别名。 Because obviously that term needed a 3rd meanings in C# ;) 但是“using 指令的范围仅限于它出现的文件。”,因此它不会在全局范围内应用。

还有另一种选择——创建一个子类。例如,

public class ListOfIntegers : List<int>{
//Nothing to do here.
}

会给你一个 List<int> 的别名适用于所有地方的 ListOfIntegers 作为项目引用给出。

至于无法扩展某些东西:只需封装它即可。

public class TypedString1 {
public value;
}

public class TypedString2 {
public value;
}

但您可能希望对其进行设置,以便将字符串重载用于 Equality 和 ToString 调用等内容。也可能隐式转换为字符串以使其更易于使用。

关于c# - 如何在 Unity 中全局为类创建别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57341751/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com