Frage

Ich suche einen Weg Größe in Byte eines Werttypen (TypeReference) in Mono.Cecil zu bestimmen.

Ich brauche es Nullable Gleichheit vergleichen Codegenerierung zu optimieren.

  • Wenn der Wert Typ Größe> 4, vergleichen HasValue zuerst, dann Werte vergleichen.
  • Wenn der Wert Schriftgröße <= 4, vergleichen GetValueOrDefault zuerst, dann HasValue vergleichen.

Aber, dies zu tun, muss ich irgendwie bekommen sizeof (T).

War es hilfreich?

Lösung

Es ist nicht 100% perfekt (da da auf 32/64 bits Bogen variieren) aber Gendarme hat den Code, um diese Aufgabe zu tun. Schauen Sie sich die SizeOf Methode innen:

https: // raw.github.com/mono/mono-tools/master/gendarme/rules/Gendarme.Rules.Performance/AvoidLargeStructureRule.cs

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