Imagine esta configuração:
public interface IMass{
double Mass {get;}
}
public static class IMassExtension {
public static double ToKg(this IMass massObject) {
return massObject.Mass / 1000.0;
}
public static double CalculateInteractiveGravity(this IMass massObject, IMass otherMassObject)
{
return blah;
}
}
Posso colocar a classe de extensão no mesmo arquivo da interface (por exemplo, IMass.cs) ou em um arquivo separado (IMassExtension.cs)?
Uma classe base não é possível aqui. Imagine
public class Person : Animal, IMass {}
e
public class House : Building, IMass {}