Leggere in inglese

Condividi tramite


Errore del compilatore CS1113

Impossibile utilizzare i metodi di estensione 'name' definiti nel tipo valore 'name' per creare delegati.

I metodi di estensione definiti per i tipi classe possono essere usati per creare delegati, al contrario dei metodi di estensione definiti per i tipi valore.

Per correggere l'errore

  1. Associare il metodo di estensione a un tipo classe.

  2. Impostare il metodo come metodo normale nello struct.

Esempio

L'esempio seguente genera l'errore CS1113:

// cs1113.cs  
using System;  
public static class Extensions  
{  
    public static S ExtMethod(this S s)  
    {  
        return s;  
    }  
}  
  
public struct S  
{  
}  
  
public class Test  
{  
    static int Main()  
    {  
        Func<S> f = new S().ExtMethod; // CS1113  
        return 1;  
    }  
}  

Vedi anche