Automatic .ToString ()?
Ich habe eine Methode wie diese:void m1(string str)
und habe eine Klasse wie diese:
public class MyClass
{
public bool b1 { set; get; }
//and other properties
}
Warum verursacht der folgende Code keinen Kompilierungsfehler?
IClass2 _class2 = new Class2();
MyClass c1 = new MyClass();
_class2.m1("abcdef" + c1);
Wenn ich es debugge, wurde mir klar, dassc1.ToString()
wurde an @ übergebm1
. Warum dieses automatische.ToString()
ist aufgetreten? Das einzige was ich sagen kann ist, dass m1 in @ definiert wurIClass2
interface und wurde implementiert vonClass2
.