Поделиться через


Ошибка компилятора CS1101

Обновлен: Ноябрь 2007

Сообщение об ошибке

Модификатор параметра "ref" нельзя использовать с "this".
The parameter modifier 'ref' cannot be used with 'this'.

Изменение ключевым словом this первого параметра статического метода сообщает компилятору, что метод является методом расширения. Никакие другие модификаторы не требуются и не допускаются в первом параметре метода расширения.

Пример

Следующий пример приводит к возникновению ошибки CS1101:

// cs1101.cs
// Compile with: /target:library
public static class Extensions
{
    // No type parameters.
        public static void Test(ref this int i) {} // CS1101

    // Single type parameter.
        public static void Test<T>(ref this T t) {}// CS1101

    // Multiple type parameters.
        public static void Test<T,U,V>(ref this U u) {}// CS1101
}

См. также

Ссылки

Методы расширения (руководство по программированию в C#)

this (Справочник по C#)

ref (Справочник по C#)