Защищенный метод класса объекта MemberWiseClone () - PullRequest
0 голосов
/ 26 мая 2010

Это может быть глупый вопрос, но я не понимаю:

У меня есть класс Card. Я хочу сделать мелкий клон с помощью MemberWiseClone (). В теории карта наследует от объекта. Поэтому он должен иметь возможность использовать MemberWiseClone (), даже если MWC () защищен ??

Я что-то упускаю / забываю?

Ответы [ 2 ]

5 голосов
/ 26 мая 2010

Карта может использовать его.

class Card
{
   public Card Clone()
   {
      return (Card)MemberwiseClone();
   }
}
3 голосов
/ 26 мая 2010

Вы можете вызывать защищенный метод только для объекта типа (во время компиляции) класса, в котором находится ваш код.

Следовательно, любой конкретный класс может вызывать MemberwiseClone только для экземпляра этого класса.
Поскольку ваш класс не Card (и не наследует Card), вы не можете вызвать MemberwiseClone для Card экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...