private static string getProperty(Behaviac.Design.PropertyDef property, MethodDef.Param arrayIndexElement, string agentName, StreamWriter stream, string indent) { if (property.IsPar || property.IsCustomized) { return(ParInfoCppExporter.GetProperty(agentName, property, arrayIndexElement, stream, indent)); } string propName = DataCppExporter.GetPropertyBasicName(property, arrayIndexElement); string nativeType = DataCppExporter.GetPropertyNativeType(property, arrayIndexElement); if (property.IsPublic) { string className = property.ClassName; if (property.IsStatic) { return(string.Format("{0}::{1}", className, propName)); } else { return(string.Format("(({0}*){1})->{2}", className, agentName, propName)); } } propName = property.Name.Replace("::", "_"); propName = propName.Replace("[]", ""); return(string.Format("(({0}*){1})->_Get_Property_<{2}PROPERTY_TYPE_{3}, {4} >()", property.ClassName, agentName, getNamespace(property.ClassName), propName, nativeType)); }