Esempio n. 1
0
        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));
        }