Skip to content

Instantly share code, notes, and snippets.

@orangutanboy
Created September 19, 2012 20:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save orangutanboy/3752178 to your computer and use it in GitHub Desktop.
Save orangutanboy/3752178 to your computer and use it in GitHub Desktop.
ToString interface overrides
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass();
Console.WriteLine("Class: " + myClass.ToString());
Console.WriteLine("Interface: " + ((MyInterface)myClass).ToString());
Console.WriteLine("object: " + ((object)myClass).ToString());
Console.ReadLine();
}
}
public interface MyInterface
{
string ToString();
}
public class MyClass : MyInterface
{
public override string ToString()
{
return "override";
}
string MyInterface.ToString()
{
return "explicit";
}
}
}
/*
displays
Class: override
Interface: explicit
object: override
*/
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass();
Console.WriteLine("Class: " + myClass.ToString());
Console.WriteLine("Interface: " + ((MyInterface)myClass).ToString());
Console.WriteLine("object: " + ((object)myClass).ToString());
Console.ReadLine();
}
}
public interface MyInterface
{
string ToString();
}
public class MyClass : MyInterface
{
string MyInterface.ToString()
{
return "explicit";
}
}
}
/*
displays
Class: Demo.MyClass
Interface: explicit
object: Demo.MyClass
*/
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass();
Console.WriteLine("Class: " + myClass.ToString());
Console.WriteLine("Interface: " + ((MyInterface)myClass).ToString());
Console.WriteLine("object: " + ((object)myClass).ToString());
Console.ReadLine();
}
}
public interface MyInterface
{
string ToString();
}
public class MyClass : MyInterface
{
public new string ToString()
{
return "new";
}
}
}
/*
displays
Class: new
Interface: new
object: Demo.MyClass
*/
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass();
Console.WriteLine("Class: " + myClass.ToString());
Console.WriteLine("Interface: " + ((MyInterface)myClass).ToString());
Console.WriteLine("object: " + ((object)myClass).ToString());
Console.ReadLine();
}
}
public interface MyInterface
{
string ToString();
}
public class MyClass : MyInterface
{
}
}
/*
displays
Class: Demo.MyClass
Interface: Demo.MyClass
object: Demo.MyClass
*/
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass();
Console.WriteLine("Class: " + myClass.ToString());
Console.WriteLine("Interface: " + ((MyInterface)myClass).ToString());
Console.WriteLine("object: " + ((object)myClass).ToString());
Console.ReadLine();
}
}
public interface MyInterface
{
}
public class MyClass : MyInterface
{
public override string ToString()
{
return "override";
}
}
}
/*
displays
Class: override
Interface: override
object: override
*/
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass();
Console.WriteLine("Class: " + myClass.ToString());
Console.WriteLine("Interface: " + ((MyInterface)myClass).ToString());
Console.WriteLine("object: " + ((object)myClass).ToString());
Console.ReadLine();
}
}
public interface MyInterface
{
string ToString();
}
public class MyClass : MyInterface
{
public override string ToString()
{
return "override";
}
}
}
/*
displays
Class: override
Interface: override
object: override
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment