Claridad en las clases que implementan múltiples interfaces (alternativa a la delegación):

Digamos que tenemos lo siguiente:

IFirst = Interface(IUnknown)    
  function GetStuff: Integer;
end;

ISecond = Interface(IUnknown)
  function GetOtherStuff: Integer;
end;

TFirstSecond = class(TInterfacedObject, IFirst, ISecond)    
private 
  function GetStuff: Integer;        //implementation of IFirst
  function GetOtherStuff: Integer;   //implementation of ISecond;
end;

Nunca me ha gustado el hecho de que en TInterfacedObject parece que no hay forma de distinguir entre qué métodos implementan qué interfaces. ¿Me estoy perdiendo de algo? ¿Alguien sabe cómo estructurar el código para hacer eso? Para designar que GetStuff es la implementación de IFirst y GetOtherStuff es la implementación de ISecond? ('Poner un comentario' no es la respuesta que estoy buscando ...)

Sé que puedo usar la directiva 'implementos' para definir propiedades en TFirstSecond para cada interfaz y delegar las implementaciones a instancias contenidas en TFirstSecond, segregando así todo. Pero me gustaría un atajo ...

Respuestas a la pregunta(4)

Su respuesta a la pregunta