Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS1113

Metody rozšíření "name" definované pro typ hodnoty "name" nelze použít k vytváření delegátů.

Metody rozšíření definované pro typy tříd lze použít k vytváření delegátů. Rozšiřující metody definované pro typy hodnot nemohou.

Oprava této chyby

  1. Přidružte metodu rozšíření k typu třídy.

  2. Nastavte metodu jako běžnou metodu ve struktuře.

Příklad

Následující příklad vygeneruje 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;  
    }  
}  

Viz také