Xcode: все .h файлы потеряли синтаксическую окраску

Две вещи способствовали этому:

  1. Вы явно реализуете свойство UserName интерфейса IUser
  2. . В версии 2 системы идентификации Asp.Net, изменилось определение интерфейса IUser. Свойство UserName теперь определено на универсальном интерфейсе IUser, из которого наследуется негенерированный интерфейс IUser.

Когда вы реализуете интерфейсы явно, C # ожидает, что вы сможете присвоить имя участника с именем наименее производного интерфейса, а не имя интерфейса, которое может наследовать от него.

Чтобы исправить ваш код, вам нужно сделать это:

public class User : IUser
{
   string IUser<string>.UserName { get { return Email;} set { Email = value;}}
}

Пример бонуса

Вот полный пример, который генерирует одно и то же сообщение об ошибке:

public interface Base
{
    string MyProperty { get; set; }
}

public interface Inherited : Base
{

}

public class Implementor : Inherited
{
    string Inherited.MyProperty { get; set; }
}
0
задан Tim 26 February 2015 в 10:22
поделиться