List<...> og Interfaces
Hej,Jeg har opbygget en række lister baseret på følgende herunder:
Mit spørgsmål er nu:
Jeg får nogle data defineret som:
List<IKKSDataPoint> Data = "en eller anden funktion"
Hvorfor kan jeg ikke caste dem som
List<KKSDataPoint2> data = (KKSDataPoint2)Data;// her får jeg fejl
List<KKSDataPoint> data = (KKSDataPoint)Data;// her får jeg fejl
Jeg får fejlen "cannot implicitely convert from List<IKKSDataPoint> to List<KKSDataPoint2>"?? Hvad skal jeg skrive for at det til at lykkes??
public interface IKKSDataPoint
{
DateTime dateAndTime { get; set; }
double value { get; set; }
string Unit { get; set; }
string Description { get; set; }
string KKS_Key { get; set; }
string ToString();
}
public class KKSDataPoint2 : BaseKKSDataPoint, IKKSDataPoint
{
public override string ToString()
{
return this.KKS_Key;
}
}
public class KKSDataPoint : BaseKKSDataPoint, IKKSDataPoint
{
public override string ToString()
{
return this.Description + " (" + this.KKS_Key + ") ";
}
}
public abstract class BaseKKSDataPoint
{
public DateTime dateAndTime { get; set; }
public double value { get; set; }
public string Unit { get; set; }
public string Description { get; set; }
public string KKS_Key { get; set; }
}