private void TryAddWrappedScript(Type scriptType, ScriptDocumentation documentation) { var scriptAttributes = scriptType.GetCustomAttributes(typeof(ScriptAttribute), false).Cast<ScriptAttribute>(); var scriptAttribute = scriptAttributes.FirstOrDefault(); if (scriptAttribute == null) { return; } ParameterInfo parameterInfo = scriptType.GetConstructors().First().GetParameters().First(); Type[] genericArguments = parameterInfo.ParameterType.GetGenericArguments(); var name = scriptAttribute.Name; var description = scriptAttribute.Description; var envDocs = ExtractDocumentation(genericArguments); var scriptDoc = new ScriptTypeDocumentation(scriptType, envDocs.Environments.ToArray(), name, description); documentation.AddWrappedScript(scriptDoc); foreach (var envDoc in envDocs.Environments) { documentation.AddEnvironment(envDoc.EnvironmentType, envDoc.Name, envDoc.Description); } }
private void TryAddWrappedScript(Type scriptType, ScriptDocumentation documentation) { var scriptAttributes = scriptType.GetCustomAttributes(typeof(ScriptAttribute), false).Cast <ScriptAttribute>(); var scriptAttribute = scriptAttributes.FirstOrDefault(); if (scriptAttribute == null) { return; } ParameterInfo parameterInfo = scriptType.GetConstructors().First().GetParameters().First(); Type[] genericArguments = parameterInfo.ParameterType.GetGenericArguments(); var name = scriptAttribute.Name; var description = scriptAttribute.Description; var envDocs = ExtractDocumentation(genericArguments); var scriptDoc = new ScriptTypeDocumentation(scriptType, envDocs.Environments.ToArray(), name, description); documentation.AddWrappedScript(scriptDoc); foreach (var envDoc in envDocs.Environments) { documentation.AddEnvironment(envDoc.EnvironmentType, envDoc.Name, envDoc.Description); } }
public void AddWrappedScript(ScriptTypeDocumentation scriptTypeDocumentation) { _scripts.Add(scriptTypeDocumentation); }