Я немного запутался в разных способах использования методов для взаимодействия с объектами в С#, в частности, с основными различиями и последствиями между следующими конструкциями:
- Вызов метода экземпляра
- Использование статического класса в POCO
- Создание метода расширения
Пример:
public class MyPoint
{
public double x { get; set; }
public double y { get; set; }
public double? DistanceFrom(MyPoint p)
{
if (p != null)
{
return Math.Sqrt(Math.Pow(this.x - p.x, 2) + Math.Pow(this.y - p.y, 2));
}
return null;
}
}
Если бы вы могли достичь желаемого результата, просто поместив метод в определение класса, почему POCO в сочетании с статическим вспомогательным классом или методом расширения предпочтительнее?