- July 25, 2010
- 4,024
- 1,420
- Home Country
-
Germany
- Thread starter
- #481
My own source codeWhat tool do you use to do this?
Code:
public ServiceHandlerTemplate()
{
foreach (var handler in MainRequestHandler.REQUEST_MODULE_HANDLERS)
{
Attribute[] attrs = Attribute.GetCustomAttributes(handler.Value.GetType());
foreach (Attribute attr in attrs)
{
var description = attr as ApiHandlerDescription;
if (description != null)
{
ApiHandlerDescription apiHandlerDescription = description;
_serviceHandler.Add(handler.Key, apiHandlerDescription);
}
}
}
}
And:
Code:
public ServiceHandlerFunctionsTemplate(string serviceHandler)
{
IRequestModuleHandler module;
if (MainRequestHandler.REQUEST_MODULE_HANDLERS.TryGetValue(serviceHandler, out module))
{
Attribute[] attrs = Attribute.GetCustomAttributes(module.GetType());
foreach (Attribute attr in attrs)
{
var description = attr as ApiHandlerDescription;
if (description != null)
{
ApiHandlerDescription apiHandlerDescription = description;
subHeadLine = apiHandlerDescription.FriendlyName;
}
}
var handlerFunctions = module.GetRequestMicroModuleHandlers();
foreach (var handlerFunction in handlerFunctions)
{
var type = handlerFunction.Value.GetType();
FunctionDescription functionDescription = new FunctionDescription
{
Name = handlerFunction.Key,
FriendlyName = handlerFunction.Key,
Category = type.Namespace.Split('.').Last(),
};
Attribute[] attrsFunc = Attribute.GetCustomAttributes(type);
foreach (Attribute attr in attrsFunc)
{
var description = attr as ApiFunctionDescription;
var param = attr as ApiFunctionParam;
if (description != null)
{
ApiFunctionDescription apiFunctionDescription = description;
functionDescription.Summary = apiFunctionDescription.Summary;
functionDescription.Type = apiFunctionDescription.Type.ToString().ToLower();
//functionDescription.ReturnType = apiFunctionDescription.ReturnType.ToString();
}
if (param != null)
{
functionDescription.Parameters.Add(param);
}
}
if (!_serviceHandlerFunctions.ContainsKey(functionDescription.Category))
_serviceHandlerFunctions.Add(functionDescription.Category, new List<FunctionDescription>());
_serviceHandlerFunctions[functionDescription.Category].Add(functionDescription);
}
}
}