laridade nas classes que implementam múltiplas interfaces (alternativa à delegação
Digamos que temos o seguinte:
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 gostei do fato de que no TInterfacedObject parece não haver maneira de distinguir entre quais métodos implementam quais interfaces. Estou esquecendo de algo? Alguém sabe como estruturar o código para fazer isso? Para designar que GetStuff é a implementação do IFirst e GetOtherStuff é a implementação do ISecond? ('Coloque um comentário' não é a resposta que estou procurando ...)
Sei que posso usar a diretiva 'implementa' para definir propriedades no TFirstSecond para cada interface e delegar as implementações em instâncias contidas no TFirstSecond, segregando tudo. Mas eu gostaria de um atalho ...