As a followup question to this one
public interface IFeature { }
public class FeatureA : IFeature { }
IFeature a = new FeatureA();
Activate(a);
private static void Activate<TFeature>(TFeature featureDefinition) where TFeature : IFeature
{
}
I undestand, that once the FeatureA
is casted to IFeature
the generic method will always get IFeature
as type parameter.
We have a service with provides us with a list features (List<IFeature>
). If we want to iterate over those features, passing each in the generic method, I guess there is no way to get the concrete type in the generic method other than
- using reflection
- using a dynamic variable to determine the type on runtime (Calling a generic method with the correct derived type)
Since reflection is very costly, I would like to use the dynamic cast. Is there any downside to call the method that way? Somehow I feel dirty when doing that :-)
Aucun commentaire:
Enregistrer un commentaire