Possible en double:
Create instance of generic type?C# Generics aide - comment passer params à nouveau T()
Comment puis-je passer un à un contstructor param générique?
public class Payment<T> where T: HostFunctionContext, IClaimPayment, new()
{
public IResultEntity Display(MyUser user, string claim, int? cert)
{
**HostFunctionContext func = new T(user) as HostFunctionContext;** <~doesn't compile
IClaimPayment payment = new T();
payment.ClaimNumber = claimNumber;
payment.CertificateSequence = certSequence;
return payment.DisplayEntity();
}
}
public sealed partial class CardPayment : HostFunctionContext
{
public CardPayment(MyUser user) : base(user) { }
}
constructeurpour HostFunctionContext abstrait
public HostFunctionContext(MyUser user) {
_hostConnection = HostConnectionAssembler.GetHostConnection();
_functionParams = FunctionParamsAssembler.GetFunctionParams();
if (user != null) {
_hostConnection.Login = user.Login;
}
}
Je dois passer à l'utilisateur de la baseclass T. Comment puis-je faire cela? Est-ce que je crée un constructeur sans paramètre, puis une propriété de type MyUser, puis sur l'ensemble de cette propriété, je le pousse vers la baseclass? La baseclass abstraite n'a pas de propriété myUser et pas de constructeur sans paramètre. Je suis vraiment coincé ici.
Merci pour toute aide, ~ ck
dupe: http://stackoverflow.com/questions/731452/create-instance-of-generic-type – meandmycode