private string GetEventTemplateName(CompoundVariable _variable) { CompoundType eventType = CompoundUtility.GetEventType(_variable); bool multiDelegate = CompoundUtility.IsEventMultiDelegate(eventType); bool request = _variable.Name.ToLowerInvariant().StartsWith("request"); return(string.Format("{0}{1}{2}.txt", multiDelegate ? "MultiDelegate" : "Delegate", request ? "Request" : "Event", eventType.TemplateTypes.Count)); }
private void AddClassData(Compound _compound, TemplateInfo _info, ClassInfo _classInfo, FileData _outputFile) { List <CompoundFunction> funtions = new List <CompoundFunction>(); List <Pair <CompoundFunction, CompoundFunction> > properties = new List <Pair <CompoundFunction, CompoundFunction> >(); List <CompoundVariable> variables = new List <CompoundVariable>(); foreach (Compound child in _compound) { if (child is CompoundFunction) { CompoundFunction func = (CompoundFunction)child; if (GetAviableFunc(func)) { if ( //func.Const && func.CompoundParamTypes.Count == 0 && func.CompoundType.TypeName != "void" && (func.GetProperty || func.IsProperty)) { properties.Add(new Pair <CompoundFunction, CompoundFunction>(func, null)); } else { funtions.Add(func); } } } else if (child is CompoundVariable) { CompoundVariable variable = (CompoundVariable)child; if (variable.Public && !variable.Static && !variable.Name.StartsWith("_") && CompoundUtility.IsVariableEvent(variable)) { variables.Add(variable); } } } // вытаскиваем сетеры для свойств из списка функций foreach (var func in properties) { func.Second = PopSetterFunc(func.First, funtions); } foreach (var func in properties) { AddClassProperty(func, _info, _classInfo, _outputFile); } foreach (var func in funtions) { AddClassFunction(func, _info, _classInfo, _outputFile); } foreach (var variable in variables) { AddClassEvent(variable, _info, _classInfo, _outputFile); } }