var type = data.ClientBaseObject.GetType();
var newClientObject = GetDataContextedObject(type, data.ClientBaseObject);
private object GetDataContextedObject(Type type, object jobObject)
{
switch (type.Name.ToUpper())
{
case "JOBNUMBER":
{
return GetObjectFromDataContext<JobNumber>(jobObject);
}
case "NA_HEADER":
{
return GetObjectFromDataContext<NA_Header>(jobObject);
}
}
return null;
}
private object GetObjectFromDataContext<T>(object jobObject) where T: class, IJobID
{
var newObject = jobObject as T;
return _dc.GetTable<T>().FirstOrDefault(j => j.JobID == newObject.JobID);
}
在上面的代码,我想知道是否有一种方法,我可以让GetObjectFromDataContext
到GetObjectFromDataContext<type>
,而不必让每个类的type.Name和创造的情况下,每一个。这可以做到吗?制作一个泛型类型的变量
让我知道如果问题不明确。
你计划如何调用这个方法?如果您向我们展示一些背景可能会有所帮助。 – rcdmk 2013-03-06 22:33:25
已更新代码以获取更多说明 – 2013-03-06 22:38:02
您真的应该考虑检查您的设计。你能发布这个案例的要求吗? – rcdmk 2013-03-06 22:52:20