public TisEntityParameterInfoExternal( EntityParameterInfo oEntityParameterInfo, ITisEntityReflection oReflectionExternal) { m_oParameterInfo = oEntityParameterInfo; m_oReflectionExternal = oReflectionExternal; }
private static EntityParameterInfo[] GetParameters( Type oType, FieldInfo[] AggregatedChildren) { ArrayBuilder oParamData = new ArrayBuilder(); // Array of all parameter names - to detect collisions IList <string> oParamNames = new List <string>(); // // Add parameters that belong directly to the provided Type // PropertyInfo[] ParamProperties = GetParameterProperties(oType); foreach (PropertyInfo oParamProperty in ParamProperties) { EntityParameterInfo oParamInfo = new EntityParameterInfo( oParamProperty, null // DeclaringAggregatedObject ); oParamData.Add(oParamInfo); oParamNames.Add(oParamInfo.ParameterName); } // // Add aggregated object parameters // foreach (FieldInfo oAggregatedChild in AggregatedChildren) { PropertyInfo[] ChildParamProperties = GetParameterProperties(oAggregatedChild.FieldType); foreach (PropertyInfo oParamProperty in ChildParamProperties) { EntityParameterInfo oChildParamInfo = new EntityParameterInfo( oParamProperty, oAggregatedChild // DeclaringAggregatedObject ); string sParamName = oChildParamInfo.ParameterName; if (!oParamNames.Contains(sParamName)) { // Add only if no parameter with same name already added oParamData.Add(oChildParamInfo); oParamNames.Add(sParamName); } } } return((EntityParameterInfo[])oParamData.GetArray( typeof(EntityParameterInfo))); }
public ITisEntityParameterInfo GetParameterInfo(string sParameterName) { EntityParameterInfo oParamInfo = TypeInfo.GetEntityParameterInfo(sParameterName); if (oParamInfo == null) { return(null); } return(new TisEntityParameterInfoExternal( oParamInfo, m_oReflectionExternal)); }
public EntityParameterInfo GetEntityParameterInfo( Type oType, string sParamName) { EntityTypeInfo oEntityTypeInfo = GetEntityTypeInfo(oType); EntityParameterInfo oParamData = oEntityTypeInfo.GetEntityParameterInfo(sParamName); if (oParamData == null) { throw new TisException( "Parameter [{0}] not exists in type [{1}]", sParamName, oType); } return(oParamData); }