Ich habe Ton in VB.Net ausprobiert aber ich fand, dass ich nicht alles zum Funktionieren bringen konnte.
Hier ist Clay
Dies funktioniert in C #
%Vor%aber das funktioniert nicht in VB.Net
%Vor%Ich bekomme diese Fehlermeldung in VB.Net:
%Vor%Ich bin nicht 100% sicher, wie ich das lösen kann, wenn ich es überhaupt lösen kann. Ich vermute, die VB.Net-Implementierung von anonymen Typen ist etwas anders.
Ich bekomme den Fehler in dieser Zeile:
%Vor%Ich würde mich freuen, wenn mir jemand das erklären könnte.
Die IL scheint anders zu sein.
Für VB ist das private Feld Latinname das:
%Vor%Für C # ist es:
%Vor%Und die öffentliche Methode Get_LatinName ist dies.
VB:
%Vor%C #:
%Vor%Und das sind die wichtigsten Methoden:
VB:
%Vor%C #:
%Vor%Die C # - und VB-Version ist nicht gleich. Scheint so, als ob die C # Version viel mehr macht.
Ich weiß nichts über Clay, aber es gibt einen potenziell wichtigen Unterschied zwischen anonymen C # -Typen und VB-Typen: C # anonyme Typen immer haben schreibgeschützte Eigenschaften , während VB standardmäßig veränderbar sind.
Nur die schreibgeschützten Eigenschaften werden bei der Erzeugung von Gleichheit und Hashcode in VB verwendet. Diese können mit dem Schlüsselwort Key
angegeben werden. Um näher an Ihrem C # -Code zu sein, sollte der VB sein:
Probieren Sie es aus und sehen Sie, ob es hilft:)
Tags und Links c# vb.net anonymous-types