views:

103

answers:

2

This might be a dumb question, but I don't get it:

I have a class called Card. I want to do a shallow clone using MemberWiseClone(). In Theory Card inherits from Object. So it should be able to use MemberWiseClone(), even if MWC() is protected ??

Am I missing/forgetting something?

+2  A: 

Card can use it.

class Card
{
   public Card Clone()
   {
      return (Card)MemberwiseClone();
   }
}
Itay
+2  A: 

You can only call a protected method on an object of the (compile-time) type of the class that your code is in.

Therefore, any particular class can only call MemberwiseClone on an instance of that class.
Since your class isn't Card (and doesn't inherit Card), you can't call MemberwiseClone on a Card instance.

SLaks