So erstellen Sie einen generischen Parameter-Rendite-Typ für eine MethodeReference in Mono.cecil?

StackOverflow https://stackoverflow.com/questions/9439164

  •  12-11-2019
  •  | 
  •  

Frage

Ich versuche, das folgende IL mit mono.cecil zu reproduzieren: generasacodicetagpre.

Wenn ich mono.cecil benutze, um dieses IL zu inspizieren, sehe ich, dass der Operand der Anweisung ein Genericinstancemethod ist, der ein Elementmethod der TypmethodeReferenz enthält.Diese MethodeReferenz wiederum hat einen Rückkehrtyp des Typs genericParameter.

Ich möchte dieselben Objekte von Hand erstellen, aber einen Fang-22 erreichen.Um einen generischen Parameter zu erstellen, brauche ich einen igeeric ParameterOwner, der die gleiche Methode der gleichen Methode erscheint.Also möchte ich die MethodenReferenz an den GenericParameter-Konstruktor passieren.Ich kann die Methodenreferenz jedoch nicht ohne Typeferenz für den Rückkehrtyp erstellen, den ich davon ausnutze, dass der GenericParameter sein sollte.

Wie löse ich das?Was ich falsch versetze?

War es hilfreich?

Lösung

Dies scheint ein Problem mit der API zu sein, wie es ist.

Eine einfache Möglichkeit, um daran herumzuarbeiten, wäre, eine typeferenz, um als Rückkehr Ihrer Methodenträgerung nichtig zu machen, und ändern Sie den Rückkehrtyp an den später erstellten GenericParameter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top