0

オブジェクトを保存すると、次のエラーが発生します。

must be a non-abstract type with a public parameterless constructor in order to use it as parameter 'T' in the generic type or method 'ServiceStack.Redis.RedisClient.Store<T>(T)


RedisClass.GetInstance().Store(msg); // Error here
RedisClass.GetInstance().Save();

これは第三者のクラスなので、編集できません。このオブジェクトを保存するにはどうすればよいですか?

4

2 に答える 2

0

サード パーティ オブジェクトのラッパーを作成してそのコンストラクターを呼び出し、そのラッパーを保存できますか?

例えば

public class MyWrapper
{
    public ThirdPartyObject ThirdPartyInstance { get; set; }

    public MyWrapper()
    {
        ThirdPartyInstance = new ThirdPartyObject("Constructors");
    }
}
于 2013-07-22T03:01:59.690 に答える
0

このエラーは、IBasicPersistenceProvider.Store<T>() に new() ジェネリック制約があるために発生します。代わりに、IBasicPersistenceProvider<T>.Store() を使用してみてください。

RedisClass.GetInstance().As<ThirdPartyClass>().Store(msg);
于 2013-09-13T07:20:34.580 に答える