プレビュー SDK をいじってみると、開発中のフレームワークで使用される一連の関連する Actor タイプに共通の実装を提供しようとしたときに、いくつかの驚くべきことに気付きました。
次のようなコードを作成すると、期待どおりに動作しないようです。
としょうかん:
public abstract class CommonActor : Actor, ICommonActor
{
public abstract void DoStuff();
}
コンソール アプリケーション:
public class MyActor : CommonActor
{
public void override DoStuff()
{
//Stuff
}
}
アクターを作成するときに、アクターを登録する呼び出しが失敗します。
fabricRuntime.RegisterActor(typeof(MyActor));
タイプが Actor から派生していないというエラーが表示されますが、これは明らかに偽物です。
また、これにより、サービス マニフェストを生成するツールが壊れているように見えることにも気付きました。(ツールを無効にして、これを回避する必要がありました。)
これは基本的に、ユーザー向けの API を思い通りに書くことを妨げています。私はそれがまったく好きではありません。同様に、他の人が報告したように、ここでは依存性注入シナリオのサポートがほとんどまたはまったくなく、アクター モデルの有用性がかなり劇的に損なわれています。
何か不足していますか?ここでアクターの抽象化を実装するより良い方法はありますか?