Monday, October 15, 2007

Overriding static member in child class with C#.NET,VB.NET

Static member are accessible without creating the objects of the class so you don't need to create a object for that class.

Micorosft CLR does not permit the static methods to be override in child class. But off course you can hide the static method of parent method with new keyword in child class. Here is the example of that.

public class A
public static virtual void Test()
public class B : A
public new override static void Test()


  1. I just saw this code and tried it. This is the message "Error 1 A static member 'ConsoleApplication1.A.Test()' cannot be marked as override, virtual, or abstract D:\SKS\AffinityMobile\Works\ConsoleApplication1\Program.cs 51 36 ConsoleApplication1

    Please explain.

  2. Get rid of "virtual" in class A's method declaration, and it should work. The concept is still valid.


Your feedback is very important to me. Please provide your feedback via putting comments.

Search This Blog
About Me
My Photo

Full Stack Developer,Blogger,Microsoft Mvp, Mentor, Life long learner, 10+ Years of Experience for JavaScript, web and Microsoft technologies. ASP.NET MVC,Web Forms,C#,AngularJs,Golang
Mvp profile
Subscribe to my blog

Enter your email address:

Follow us on facebook
Blog Archive
Total Pageviews