У меня есть такой метод: void m1(string str)
и у меня есть такой класс:
public class MyClass
{
public bool b1 { set; get; }
//and other properties
}
Теперь, почему следующий код не вызывает ошибку компиляции?
IClass2 _class2 = new Class2();
MyClass c1 = new MyClass();
_class2.m1("abcdef" + c1);
Когда я его отладил, я понял, что c1.ToString()
было передано m1
. Почему произошло это автоматическое .ToString()
? Единственное, что я могу сказать, это то, что m1 определен в интерфейсе IClass2
и реализован Class2
.