#283 – Instance Methods Can Call Static Methods
March 27, 2011 Leave a comment
Instance methods in a class can access static data or call static methods. The instance method accesses static data or methods in the same way that other code does–by using the class name to qualify the data or method name.
Here’s an example, where the Dog.Bark instance method makes use of the private static Dog.FormatTheCreed method:
// Static property -- one value for all dogs public static string Creed { get; set; } // Private static method to format our Dog creed private static string FormatTheCreed() { return string.Format("As dogs, we believe: {0}", Dog.Creed); } // Instance method, in which a Dog barks public void Bark() { // Dump out my name and the universal Dog creed. Console.WriteLine("{0}: 'Woof'! (Creed: [{1}])", this.Name, Dog.FormatTheCreed()); }
Calling the Bark method:
// Set static property Dog.Creed = "We serve man"; Dog kirby = new Dog("Kirby"); kirby.Bark();