У меня есть класс примерно , сконструированный так:
class Vector3
{
float X;
float Y;
float Z;
public Vector3(float x, float y, float z)
{
this.X = x;
this.Y = y;
this.Z = z;
}
}
У меня есть другие классы, реализующие его как свойства, например:
class Entity
{
Vector3 Position { get; set; }
}
Теперь, чтобы установить позицию объекта, я использую следующее:
myEntity.Position = new Vector3(6, 0, 9);
Я хотел бы сократить это для пользователя, внедрив массивоподобный инициализатор для Vector3:
myEntity.Position = { 6, 0, 9 };
Однако ни один класс не может наследовать массивы. Более того, я знаю, что смог бы каким-то образом добиться этого с небольшими взломами:
myEntity.Position = new[] { 6, 0, 9 };
Но дело не в этом. :)
Спасибо!