我有一个用多种不同类型调用的类。我想将 SObject 转换为特定的自定义对象(提供了对象名称)。我将使用下面的代码片段作为示例,而不是实际代码。
SObject dynamicObject = [SELECT Id, Term__r.IntegratedFromExternalSystem FROM ParentObjectName LIMIT 1];
现在我想使用 Parentobjectname 来获取类型。
SObjectType sObjType = ((SObject) Type.forName(parentObjectName).newInstance()).getSObjectType();
这有我想要的类型,现在我想把这个 Sobject 转换成它的自定义对象,所以我实际上可以检索那个 integratedFromExternal 字段。否则它说该字段将不存在。
显然,您不能将变量用作类型,所以这不会起作用,但这是描述我想做的事情的最佳方式。无论 ParentObjectName 字段是什么,我都需要输入它。这个类在系统的不同部分动态使用,这里有各种不同的自定义对象。
sObjType myCustomObject = (sObjType) dynamicObject;
Boolean integratedFromExternal = myCustomObject.Term__r.IntegratedFromExternalSystem__c;
有办法做到这一点吗?