private static string GetEnvironmentVariableName(AccessorTypeDeclaration accessorTypeDeclaration, AccessorFieldDeclaration accessorFieldDeclaration) { var assemblyName = accessorTypeDeclaration.TargetInterfaceType.Assembly.GetName().Name; var interfaceName = accessorTypeDeclaration.TargetInterfaceType.Name; var environmentVariablePrefixAttribute = accessorTypeDeclaration.GetAttribute <EnvironmentVariablePrefixAttribute>(); var prefix = environmentVariablePrefixAttribute?.Prefix ?? $@"{assemblyName}_{interfaceName}"; var environmentVariableNameAttribute = accessorFieldDeclaration.GetAttribute <EnvironmentVariableNameAttribute>(); var name = string.IsNullOrEmpty(environmentVariableNameAttribute?.Name) ? accessorFieldDeclaration.Name : environmentVariableNameAttribute.Name; return(string.IsNullOrEmpty(prefix) ? name : $"{prefix}_{name}"); }
private static string GetCommandlineName(AccessorTypeDeclaration accessorTypeDeclaration, AccessorFieldDeclaration accessorFieldDeclaration) { var interfaceName = accessorTypeDeclaration.TargetInterfaceType.Name; var commandlineArgumentPrefixAttribute = accessorTypeDeclaration.GetAttribute <CommandlineArgumentPrefixAttribute>(); var prefix = commandlineArgumentPrefixAttribute?.Prefix ?? interfaceName; var commandlineArgumentNameAttribute = accessorFieldDeclaration.GetAttribute <CommandlineArgumentNameAttribute>(); var name = string.IsNullOrEmpty(commandlineArgumentNameAttribute?.Name) ? accessorFieldDeclaration.Name : commandlineArgumentNameAttribute.Name; return(prefix == "" ? $"--{name}" : $"--{prefix}_{name}"); }
public static XmlFileInterfaceAccessorReportData GetInterfaceData(AccessorTypeDeclaration accessorTypeDeclaration) { var xmlFileAttribute = accessorTypeDeclaration.GetAttribute <XmlFileAttribute>(); var filePath = Path.Combine( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? throw new InvalidOperationException(), string.IsNullOrEmpty(xmlFileAttribute?.FilePath) ? @".\ApplicationRegisties.xml" : xmlFileAttribute?.FilePath); var xrootPath = string.IsNullOrEmpty(xmlFileAttribute?.XRootPath) ? "/ApplicationRegisties/" + accessorTypeDeclaration.Name : xmlFileAttribute.XRootPath; return(new XmlFileInterfaceAccessorReportData(filePath, xrootPath)); }
public static RegistryAccessorReportData GetPropertyData(RegistryRoot registryRoot, AccessorTypeDeclaration accessorTypeDeclaration, AccessorFieldDeclaration accessorFieldDeclaration) { var assemblyName = accessorTypeDeclaration.TargetInterfaceType.Assembly.GetName().Name; var interfaceName = accessorTypeDeclaration.TargetInterfaceType.Name; var registoKeyAttribute = accessorTypeDeclaration.GetAttribute <RegistryKeyAttribute>(); var key = string.IsNullOrEmpty(registoKeyAttribute?.Key) ? $@"Software\ApplicationRegistries\{assemblyName}\{interfaceName}" : registoKeyAttribute.Key; var registoNameAttribute = accessorFieldDeclaration.GetAttribute <RegistryNameAttribute>(); var name = string.IsNullOrEmpty(registoNameAttribute?.Name) ? accessorFieldDeclaration.Name : registoNameAttribute.Name; return(new RegistryAccessorReportData(key, name )); }