Netlink
Messages postés139Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention12 juillet 2011
-
24 févr. 2010 à 16:03
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
25 févr. 2010 à 19:06
Salut à tous,
J'ai récupéré un bout de code sur le net que j'aimerai intégrer à une de mes applications. Le seul problème c'est que ce code est en C#, et que je développe mon application en VB.NET...
Je ne vois vraiment pas comment transcrire le code "where TTo : TFrom" qui suit la déclaration de la méthode. J'ai tenté de compiler, puis d'utiliser .NET Reflector et d'afficher le code en VB.NET mais il fait disparaître cette mention "where TTo : TFrom", ce qui génère une erreur lors de la compilation.
Voici le bout de code en question :
public static void RegisterTypePerThread<TFrom, TTo>(string name, params InjectionMember[] injectionMembers)
where TTo : TFrom
{
_container.RegisterType<TFrom, TTo>(name, new PerThreadLifetimeManager(), injectionMembers);
}
Sachant que InjectionMember est membre de Microsoft.Practices.Unity
Public Shared Sub RegisterTypePerThread(Of TFrom, TTo As TFrom)(ByVal name As String, ParamArray injectionMembers As InjectionMember())
_container.RegisterType(Of TFrom, TTo)(name, New PerThreadLifetimeManager(), injectionMembers)
End Sub
Netlink
Messages postés139Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention12 juillet 2011 25 févr. 2010 à 10:55
Salut,
Merci pour ta réponse !
Comme je l'ai mentionné dans mon premier message, j'ai déjà essayé de convertir le code via différents outils (dont .NET Reflector), et le résultat est bien celui que tu mentionnes.
Cependant, comme le code converti ne reprend pas la mention "where TTo : TFrom" du code en C#, cette méthode n'est pas valide et le compilateur refuse de compiler...
Le problème est donc quel est l'équivalent de "where TTo : TFrom" en VB.NET, s'il existe ?