non net must method generic extension example enum custom create c# .net extension-methods

c# - must - ¿Utiliza métodos de extensión en.NET 2.0?



extension method must be defined in a non-generic static class (1)

Al igual que:

// you need this once (only), and it must be in this namespace namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)] public sealed class ExtensionAttribute : Attribute {} } // you can have as many of these as you like, in any namespaces public static class MyExtensionMethods { public static int MeasureDisplayStringWidth ( this Graphics graphics, string text ) { /* ... */ } }

Alternativamente; solo agrega una referencia a LINQBridge .

Quiero hacer esto, pero obtengo este error:

Error 1 No se puede definir un nuevo método de extensión porque el compilador requerido tipo ''System.Runtime.CompilerServices.ExtensionAttribute'' no se puede encontrar. ¿Echas de menos una referencia a System.Core.dll? [corté algunas cosas del camino]

He visto algunas respuestas aquí que dice: tienes que definir este atributo tú mismo.

¿Cómo puedo hacer eso?

EDITAR : Esto es lo que tengo:

[AttributeUsage ( AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method )] public sealed class ExtensionAttribute : Attribute { public static int MeasureDisplayStringWidth ( this Graphics graphics, string text ) { } }