KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Static inheritance works just like instance inheritance. Except you are not allowed to make static methods virtual or abstract. class Program { static void Main(string[] args) { TestBase.TargetMethod(); TestChild.TargetMethod(); TestBase.Operation(); TestChild.Operation(); } } class TestBase { public static void TargetMethod() { Console.WriteLine("Base class"); } public static void Operation() { TargetMethod(); } } class TestChild : TestBase { public static new void TargetMethod() { Console.WriteLine("Child class"); } } This will output: Base class Child class Base class Base class But I want: Base class Child class Base class Child class If it I could on static methods, I would make TargetMethod virtual and it would do the job. But is there a work around to get the same effect? Edit: Yes, I could put a copy of Operation in the child class, but this would require copy and pasting a large bit of code into every child, which in my case is about 35 classes, a maintenance nightmare.
Tags (comma-separated)
Save Edits
Cancel