2016-11-05 8 views
1

У меня есть ниже свойства в базовом классе А, я хочу переопределить его производного класса B, используя диаграмму классов UML в Visual Studio 2013:Переопределение виртуальной собственности в C# с использованием Visual Studio 2013 UML

public class A 
{ 
    public virtual string X 
     { 
      get; 
      set; 
     } 
} 

Override, как это :

public class B : A 
{ 
    public override string X 
     { 
      get; 
      set; 
     } 
} 

Я сгенерированный код модели, но нет переопределение ключевого слова в производном классе B

Сгенерированный код:

public class B : A 
{ 
    public string X 
     { 
      get; 
      set; 
     } 
} 
+0

Что вы думаете ?? –

+0

В Model i установлено переопределение для свойства x в классе B, но в сгенерированном коде ключевое слово переопределено? – Fouad

+0

, потому что он не знает вашего намерения, что вы хотите делать со своим классом –

ответ

0

Ваш атрибут X в подклассе B должен иметь {redefines X} ограничение. Это будет информация о том, что новый X изменяет унаследованный.

Хотя теоретически вы можете указать, что ваш атрибут унаследован от суперкласса с отметкой ^, но вы не можете ничего принять, если он отсутствует. Переопределения не оставляют сомнений. Я говорю только с точки зрения UML. Я не знаю, поддерживает ли Visual Studio это и где его искать.