Sous Visual Studio 2008
Puis-je créer une méthode d'extension pour travailler avec un projet .NET Framework 2.0?Utilisation des méthodes d'extension avec .NET Framework 2.0
Répondre
Il existe un ugly hack qui obtient les méthodes d'extension fonctionnant dans .Net 2.0; mais il vaut mieux simplement mettre à jour votre framework à 3.5.
Autres sources: 1, 2. En bref (à partir du lien n ° 2): Les méthodes d'extension sont simplement des méthodes statiques normales étiquetées avec l'attribut [Extension]. Cet attribut est en fait juste ajouté par le compilateur dans les coulisses. Dans .NET 3.5, il vit dans System.Core, donc il suffit de définir votre propre attribut comme ceci:
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
public class ExtensionAttribute : Attribute
{
}
}
Le lien est rompu Je pense – deostroll
@deostroll: Fixe. –
Absolument. Il y a quelques méthodes hacky, mais celle que j'utilise est de prendre System.Core du Mono project, d'ajouter tout son code à une nouvelle bibliothèque de classes .NET 2.0 nommée System.Core dans ma propre solution, et de la recompiler. Il y a quelques choses à corriger, comme changer leurs attributs MonoTODO en commentaires TODO, et réparer le AssemblyInfo.cs, mais cela fonctionne très bien. J'utilise maintenant les deux LINQ et des méthodes d'extension dans un projet 2.0 compilé dans VS 2008.
En supposant que vous obtenez la version 2.4 de la source Mono, vous devriez trouver le code sous:
<extracted directory>/mono-2.4/mcs/class/System.Core
Si vous êtes coincé dans VS 2005, vous pouvez télécharger SharpDevelop, construire votre DLL System.Core avec celle ciblée sur 2.0, ajouter une référence à l'assembly compilé, et cela peut fonctionner, mais je ne sais pas si VS 2005 aura un problème avec la syntaxe d'extension ou non. J'imagine que ça te donnera des lèvres.
La clé est compilée dans VS 2008. Je suis toujours coincé avec VS 2005 :( –
J'ai vu le tag VS2008 et supposé 2008. Si vous êtes en 2005, vous pouvez peut-être trouver un binaire pré-compilé, ou utiliser SharpDevelop (je mettrai à jour avec un lien) Si vous compilez dans Win2K, vous n'avez malheureusement pas de chance car il ne supportera pas le framework 3.5. –
- 1. Utilisation de méthodes d'extension dans .NET 2.0?
- 2. .Net Framework 2.0 Outil de configuration
- 3. HtmlForm.Action et Framework .Net 2.0/3.5 Interrogation
- 4. SAML avec .NET 2.0
- 5. Utilisation d'espaces de noms .net 3.0 dans .net 2.0
- 6. Utilisation de la méthode HttpUtility.HtmlDecode avec .NET Compact Framework?
- 7. mélange de couleurs Alpha dans .NET Compact Framework 2.0
- 8. Utilisation du débogage .Net Framework Source
- 9. ASP.NET 2.0 Site Web utilise .NET framework 3.0 DLL
- 10. Nouveaux types ajoutés dans .NET Framework 2.0 Service Pack 1
- 11. problème avec ajax sur mise à jour .net Framework 2.0 à .net framework 3.5 à partir de VS 2008
- 12. System.DirectoryServices.AccountManagement dans .net 2.0
- 13. Équivalent de type CT sur .NET Framework 2.0
- 14. Débogage des méthodes dynamiques .NET
- 15. Utilisation de NUnit avec .NET 3.5
- 16. Utilisation de JQuery avec ASP.NET MVC Framework
- 17. Performance de .Net 2.0 vs .Net 3.5
- 18. Client des services Web WSE 2.0 utilisant .NET 2.0
- 19. Utilisation du magasin de certificats "Compte de service" avec .NET 2.0 HttpWebRequest
- 20. Compatibilité des versions PIA et .NET Framework
- 21. Framework 2.0 webservice pas retourner DataTable
- 22. Installation de .NET 3.5 sur un serveur avec des applications .NET 2.0
- 23. Utilisation de Ninject avec Entity Framework
- 24. Code .NET 2.0 - Tests unitaires avec MoQ
- 25. Connexion au serveur FTP avec .net 2.0
- 26. Quelque chose comme MEF (Managed Extensibility Framework) pour .NET Framework 2.0
- 27. Projet converti .net 2.0 à 3.5, où sont les méthodes d'extension?
- 28. Comment puis-je lire un fichier midi avec .NET compact framework 2.0?
- 29. Pouvez-vous créer un site avec ASP.NET MVC Framework en utilisant .NET 2.0?
- 30. PowerShell: Performances des appels de méthodes .NET
Voir [my blog] (http://colins-corner.blogspot.com/2009/01/extension-methods-in-net-20.html) pour plus de détails. –