Returnering af generisk metode.
Jeg har lidt problemer ved brug af en generisk klasse:Har denne abstrakte klasse:
public abstract class BaseFieldValue<DataType>
Denne har nogle sub-classes i stil med:
public class FieldValueString : BaseFieldValue<string>
eller
public class FieldValueInt : BaseFieldValue<int>
osv osv.
Jeg skal nu lave en factory metode som returnerer bestemte instanser ud fra en datatype:
public static BaseFieldValue<????> GetFieldValue(string stringValue, DataTypes dataType)
{
switch (dataType)
{
case DataTypes.TEXT:
return new FieldValueString("test");
break;
case DataTypes.NUMBER
return new FieldValueInt("test");
break;
}
return null;
}
Men i selve metodesignaturen, havd skal metoden returnere? Er der én overklasse til alle de simple datatyper?