C # позволяет вам присваивать значения вашим элементам перечисления, таким как
public enum Animals
{
Dog = 0, Cat = 1,
}
И вы также можете выполнять приведение типов и из них.
public void demo()
{
int dog = (int)Animals.Dog;
Animals cat = (Animals)(dog++);
}
Но c # также позволяет вам делатьтакие вещи, как это
public enum Animals
{
Dog = Vector2.One, Cat = Vector2.Zero,
}
Однако вы не можете вернуть и вытащить Vector2.например,
Vector2 dog = (Vector2)Animals.Dog; //this fails
Эта проблема разрешима?* Примечание Vector2
является объектом класса, а Vector2.One
и Vector2.Zero
являются статическими объявлениями таких объектов.Что означает, что Собака назначена на ссылку памяти.