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

Monday, October 15, 2007

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()
{
}
}


Digg Technorati del.icio.us Stumbleupon Reddit Blinklist Furl Spurl Yahoo Simpy

3 comments:

Sreekantan said...

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.

will said...

hahaha pwnd

Anonymous said...

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

Google Translate

Search

Dotnetworld

Technet

Site Meter

Visitor Map

Locations of visitors to this page