我制作了一款简单的游戏,其中包含Stats(力量,智力,魅力......)和技能(挖掘,游泳,骑行......)。这些结构在班级public class Types{
public struct stats{
float str;
float con;
float inte;
}
public struct skill{
float mining;
}
}
public class NPC{
stats baseStats;
skill skills;
string name;
float hunger;
float necessity;
short hp;
}
中组织。
我希望在所有文件中覆盖这些结构。在C ++中,我可以只包含该类并使用struct Stats,但我不能在C#中执行相同的操作。
有没有办法让这项工作?
这是我的简化代码
beforeEach(inject(function ($injector) {
yourService = $injector.get('yourService');
})
感谢。
答案 0 :(得分:3)
因为结构嵌套在类类中,所以需要在结构实例的声明前加上嵌套类名称
public class NPC
{
Types.stats baseStats;
Types.skill skills;
string name;
float hunger;
float necessity;
short hp;
}
现在,如果需要在不同的命名空间之间使用这些类型,则需要在文件的开头添加适当的使用。
namespace MyTypes
{
public class Types
{
public struct stats
{
float str;
float con;
float xxx;
}
public struct skill
{
float mining;
}
}
}
.....
using MyTypes;
namespace MyNPC
{
public class NPC
{
Types.stats baseStats;
Types.skill skills;
string name;
float hunger;
float necessity;
short hp;
}
}
此外,如果类型在不同的项目文件中,则需要添加对包含声明的相对项目的引用。