어떻게 generic 클래스의 ref를 매개 변수로 사용하고 데이터를 변경할 수 있습니까? 여기 내 예제 코드제네릭의 참조 객체 C#
내가 OBJ 내부 데이터를 업데이트 할bool IRequestHandler.ParseRequest<T>(string request, ref T obj)
{
var req = RequestHandlerGateway.DeserializeFromXml<OrderMessageSalesOrder>(request, "SalesOrder");
return false;
}
입니다.
당신은 객체로 직렬화의 결과를 캐스팅 한 후 T에 캐스팅,하지만 당신은 당신의 DeserializeFromXML 방법에서 점점 객체가이이기 때문에 형 Tbool IRequestHandler.ParseRequest<T>(string request, ref T obj)
{
var req = RequestHandlerGateway.DeserializeFromXml<OrderMessageSalesOrder>(request, "SalesOrder");
obj = (T)(object)(req); // Careful here
return false;
}
의 있는지 확인 할 수
코드가 정상입니다. 뭐가 문제 야? – Candide
예제에서 "T"는 무엇입니까? OrderMessageSalesOrder입니까? –
T는 일반적인 매개 변수입니다. –