Wenn ich eine Liste, wo TType = Parameter,LINQ Mit einer Klasse zu sortieren, die von LIST erbt <TTYPE>
public class Parameter
{
public string VendorId { get; set; }
public string RunMonth { get; set; }
public string CoverageMonth1 { get; set; }
}
ich tun würde dies zum Beispiel sortieren wollte.
List<Models.Parameter> ps = new List<Models.Parameter>()
{
new Models.Parameter() { EffectiveDate = new DateTime(2016, 1, 1) }
,new Models.Parameter() { EffectiveDate = new DateTime(2014, 1, 1) }
};
ps = ps.OrderBy(p => p.EffectiveDate).ToList<Models.Parameter>();
Was passiert, wenn ich eine Klasse haben, Parametercollection, die
public class ParameterCollection : List<Parameter>
{
//handy properties added
}
von List<Parameter>
erbt bekomme ich diesen Fehler:
ParameterCollection parameterCollection;
parameterCollection = parameterCollection.OrderBy(parameter => parameter.EffectiveDate);
Severity Code Description Project File Line Category Suppression State
Error CS0266 Cannot implicitly convert type 'System.Linq.IOrderedEnumerable<StateAssessment.Models.Parameter>' to 'StateAssessment.Models.ParameterCollection'. An explicit conversion exists (are you missing a cast?) StateAssessment.Services C:\Workspace\Healthcare-Finance_IT\Main\WebApps\StateAssessment\StateAssessment.Services\Parameter.cs 32 Compiler Active
Gibt es eine Möglichkeit das Casting zu Parametercollection zu handhaben in die LINQ-Anweisung?
Vielleicht eine 'ToParameterCollection (diese IEnumerable ...' Erweiterungsmethode erstellen –
Eric: Ja, die Besetzung ist fehlgeschlagen/ – ChadD
Yacoub Massad: Können Sie ein Beispiel für ein solches Verfahren geben – ChadD