あなたがコンパイラに通知しない限り、「T objは」それがサポートするどのような追加のインターフェースで行うことができます。
など。
IRequestHandler.ParseRequest<T>(string request, T obj)
where T : IOrderInfo
{
var req = RequestHandlerGateway.DeserializeFromXml<OrderMessageSalesOrder>(request, "SalesOrder");
obj.OrderId = req.Id;
return true;
}
IOrderInfoが受注コードプロパティを定義すると仮定すると、とOrderMessageSalesOrderは、IDプロパティ(またはフィールド)を提供します。
refは、新しいTのインスタンスを作成する場合にのみ必要とされている:あなたはobjにデシリアライズされたオブジェクトREQをキャストする場合は、上記の答えは十分なはず
IRequestHandler.ParseRequest<T>(string request, ref T obj)
where T : IOrderInfo, new()
{
var req = RequestHandlerGateway.DeserializeFromXml<OrderMessageSalesOrder>(request, "SalesOrder");
obj = new T();
obj.OrderId = req.Id;
return true;
}
が、その後、私はあなたを考えます不安定な地面にいる。
コードは問題ありません。どうしたの? – Candide
あなたの例で「T」とは何ですか?それはOrderMessageSalesOrderですか? –
Tは一般的なパラメータです –