Błąd kompilatora CS1113
Metody rozszerzenia "name" zdefiniowane na typie wartości "name" nie mogą być używane do tworzenia delegatów.
Metody rozszerzeń zdefiniowane dla typów klas mogą służyć do tworzenia delegatów. Metody rozszerzeń zdefiniowane dla typów wartości nie mogą.
Skojarz metodę rozszerzenia z typem klasy.
Ustaw metodę jako regularną na strukturę.
Poniższy przykład generuje 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;
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: