При программировании интерфейсов, я обнаружил, что я делаю много преобразований для преобразования типов или объектов.
Есть ли разница между этими двумя методами преобразования? Если да, есть ли разница в стоимости или как это влияет на мою программу?
public interface IMyInterface
{
void AMethod();
}
public class MyClass : IMyInterface
{
public void AMethod()
{
//Do work
}
// Other helper methods....
}
public class Implementation
{
IMyInterface _MyObj;
MyClass _myCls1;
MyClass _myCls2;
public Implementation()
{
_MyObj = new MyClass();
// What is the difference here:
_myCls1 = (MyClass)_MyObj;
_myCls2 = (_MyObj as MyClass);
}
}
Кроме того, что такое "вообще" предпочтительный метод?