2016-09-28 1 views
0

Ich versuche, eine implizite Konvertierung in meine Viewmodel-Klasse (VMSalesRep) hinzuzufügen:von IEnumerable konvertieren <T> zu IEnumerable <U> über implizite Konvertierung

public static implicit operator IEnumerable<VMSalesRep> (IEnumerable<QuoteSalesRep> vm) 
{ 
    IEnumerable<VMSalesRep> result = vm.Select(x => new VMSalesRep() 
    { 
     QuoteSalesRepID = x.QuoteSalesRepID, 
     FirstName = x.FirstName, 
     LastName = x.LastName, 
     CommisionPercentage = x.CommisionPercentage 
    }); 
    return result; 
} 

ich eine IEnumerable<QuoteSalesRep> zu einem IEnumerable<VMSalesRep> konvertieren müssen. Allerdings bekomme ich den Fehler:

User-defined conversion must convert to or from the enclosing type

Was mache ich falsch?

+1

Bitte überprüfen Sie, dass Sie dies nicht tun können http://stackoverflow.com/questions/1971925/explicit-conversion-operator-error-when-converting-generic-lists#1971935 – inan

+0

Firma Ich arbeite für bietet Suchmaschine nur für solche Fall - Sie erhalten einen Fehler - geben Sie es ein und erhalten Sie eine Antwort - https://www.bing.com/search?q=User-defined+conversion+müssen + auf + oder + vom + umschließenden + Typ umwandeln (Natürlich gibt es auch andere Nutzungen), Sie können auch andere Suchmaschinen wie https://www.google.com/?gws_rd=ssl#q=User-defined+conversion+must+convert+to+oder+from ausprobieren + der + einschließende + Typ –

Antwort

4

Sie können implizite Konvertierungen nur innerhalb der Klasse deklarieren, von der Sie kommen oder gehen. Aus diesem Grund müssten Sie die Konvertierung innerhalb der Definition von IEnumerable<T> setzen, da dies der Typ der Quelle und des Ziels ist, , die nicht durchgeführt werden können.

Sie können keine implizite Konvertierung von IEnumerable zu IEnumerable durchführen.

Verwandte Themen