Ich frage mich, wie man Vererbung mit Akka.Net implementieren. Ich möchte, dass der Basis-Akteur Basis-Nachrichten und der Kind-Akteur behandelt, um mit Kind-Nachrichten umzugehen.Vererbung mit Akka.Net Schauspielern
Zum Beispiel habe ich folgende Hierarchien:
public class BaseMessage
{
public string Data { get; set; }
}
public class ChildMessage : BaseMessage
{
public string ChildData { get ;set; }
}
public abstract class BaseActor : ReceiveActor
{
private string baseData;
public BaseActor()
{
Receive<BaseMessage>(m => {
baseData = m.Data;
});
// be aware that adding ReceiveAny handler in base class means that you wont be able to add any handlers in descendant actors
// just override Unhandled method
}
}
public class MyActor : BaseActor
{
private string myData;
public MyActor()
{
Receive<ChildMessage>(m => {
myData = m.ChildData;
// obviously BaseActor won't receive BaseMessage
// so I should somehow send BaseMessage to it
// option 1, not sure will it work
BaseMessage baseMessage = m as BaseMessage;
Self.Tell(baseMessage);
// option 2, definitely should work
BaseMessage baseMessage = new BaseMessage { Data = m.Data };
Self.Tell(baseMessage);
});
}
}
Frage ist: Wird die Option 1 Nachricht an Mutter Schauspieler arbeiten zu schicken?
Bei allem Respekt, warum Sie nicht einfach ausprobieren ?! Legen Sie einige console.logs an, starten Sie eine einfache Konsolenanwendung und senden Sie die Nachrichten. – tomliversidge
@tomliversidge sicher, Post wird danach aktualisiert – bonzaster