মেথড হাইডিংকে C#-তে শ্যাডোইং (Shadowing) ও বলা হয়। প্যারেন্ট ক্লাসের মেথড চাইল্ড ক্লাসে override কীওয়ার্ড ছাড়া উপলব্ধ থাকে শ্যাডোইং-এ। চাইল্ড ক্লাসের সেই ফাংশনটির নিজস্ব ভার্সন থাকে।
ওভাররাইডিং-এ আপনি সাবক্লাস টাইপের জন্য নির্দিষ্ট একটি বিহেভিয়ার ডিফাইন করেন, অর্থাৎ একটি সাবক্লাস প্যারেন্ট ক্লাসের মেথডটি নিজের প্রয়োজন অনুযায়ী ইমপ্লিমেন্ট করতে পারে।
হাইডিং (Hiding) পুরো মেথডকে পুনঃনির্দেশ (redefine) করে, অন্যদিকে ওভাররাইডিং (Overriding) শুধু মেথডের ইমপ্লিমেন্টেশনকে পুনঃনির্দেশ করে।
ওভাররাইডিং-এ, আপনি চাইল্ড ক্লাসের অবজেক্ট দিয়ে বেস ক্লাসের ওভাররাইড করা মেথড অ্যাক্সেস করতে পারেন। শ্যাডোইং-এ চাইল্ড ক্লাসের মেথড অ্যাক্সেস করা যায় না।