C# résumé struct

Comment puis-je obtenir de l'héritage (ou similaire) avec les structures en C#?
Je sais qu'un résumé, la structure n'est pas possible, mais j'ai besoin de réaliser quelque chose de similaire.

J'ai besoin d'elle comme d'une struct, car il doit être d'un type valeur. Et j'ai besoin d'héritage, car j'ai besoin d'un générique de tableau et les méthodes que je vous garantissons sont là.

Je pense qu'un exemple ira un long chemin, si heres un code qui ne compile pas, mais montre ce que je veux atteindre;

    abstract struct Vertex
    {
       abstract int SizeInBytes;
       abstract void SetPointers();
    }
    struct ColorVertex : Vertex
    {
       Vector3 Position;
       Vector4 Color;

       override int SizeInBytes //static
       {
          get { return (3 + 4) * 4; }
       }
       override void SetVertexPointers() //static
       {
           ...
       }
    }

class main
{
   static void main()
   {
      Vertex[] verts = new Vertex[3];
      for(int i = 0; i < 3; i++)
          verts[i] = new ColorVertex();

      verts[0].SetVertexPointers(); //should call ColorVertex.SetVertexPointers

      externalAPIcall(verts);
   }
}

EDIT:

La raison que j'ai besoin de types de valeur est ainsi que je peux faire un tableau d'entre eux, et de passer à OpenGL comme un vertex buffer. Pour cela, les données doivent être directement contenus dans ce tableau.

Je serais surpris si ce n'étaient tout simplement pas possible de réaliser.

OriginalL'auteur Hannesh | 2011-02-15