2016-04-01 5 views
-3

Я хочу создать объект, который реализует интерфейс, и вернет ссылку на него. Я видел, как проверить, реализует ли объект интерфейс, но я не уверен, как это сделать в первую очередь.Как создать объект, реализующий интерфейс?

Интерфейс выглядит следующим образом:

public interface IInformation 
{ 
    string name { get; set; } 
    string description { get; } 
    string age { get; set; } 
} 

И это, где я пытаюсь создать объект, в новом классе:

public IInformation NewInformation(string description) 
{ 
} 

Любая помощь будет оценен по достоинству!

+0

Вам нужен класс 'Информация: IInformation {}' первым. –

+4

Попробуйте немного прочитать о интерфейсах. Например. https://msdn.microsoft.com/en-us/library/ms173156.aspx – slawekwin

ответ

1

Чтобы реализовать интерфейс, вам нужно создать класс, который говорит «myClass» в моем примере, и используйте символ «:», за которым следует имя интерфейса. Затем щелкните правой кнопкой мыши интерфейс и нажмите кнопку «реализовать интерфейс» это будет автоматически генерировать все методы вашего интерфейса, но вы должны убедиться, что вы изменить реализацию по умолчанию из

throw new NotImplementedException(); 

к любой логике вы хотите использовать.

public interface IInformation 
     { 
      string name { get; set; } 
      string description { get; } 
      string age { get; set; } 
     } 

     public class myClass : IInformation 
     { 
      public string age 
      { 
       get 
       { 
        throw new NotImplementedException(); 
       } 

       set 
       { 
        throw new NotImplementedException(); 
       } 
      } 

      public string description 
      { 
       get 
       { 
        throw new NotImplementedException(); 
       } 
      } 

      public string name 
      { 
       get 
       { 
        throw new NotImplementedException(); 
       } 

       set 
       { 
        throw new NotImplementedException(); 
       } 
      } 
     } 

Затем использовать класс вам нужно будет сделать что-то вроде этого:

public IInformation NewInformation(string description) 
{ 
    myClass myInstance = new myClass(); 
    myInstance.description = description; 
    return myInstance; 
}