C# 클래스 DatabaseManager.SchemaExtractor

Class able to extract SquemaInfo from assemblies.
상속: System.MarshalByRefObject
파일 보기 프로젝트 열기: VelocityDB/VelocityDB

공개 메소드들

메소드 설명
Extract ( string pClassesFilenames, string pDependenciesFilenames ) : SchemaInfo

Extract schema information from assemblies.

GetDataMembers ( Type pType ) : List

Gets public instance fields and properties excluding ones internally defined by VelocityDB.

GetTypeFromAnyAssemblyVersion ( string typeName ) : Type

Load type using Type.GetType(string), and if fails, attempt to load same type from an assembly by assembly name, without specifying assembly version or any other part of the signature

비공개 메소드들

메소드 설명
AssemblyResolve ( object sender, ResolveEventArgs pArgs ) : Assembly

When an assembly is not found, search for it on the already loaded ones.

CreateNamesDictionary ( Type pPersistables, SchemaInfo &pSchema ) : void

Creates dictionaries that maps from types fullnames to a suitable collection name. The resulting name is usually simple the name of the type. When there is more than one type with the same name, FullName is progressively prepended to name until there is no ambiguity. Two dictionaries are generated, one with pluralized last name and one with singular one.

GetAssembliesAndTypes ( string pClassFilenames, string pDependencyFilenames, SchemaInfo &pSchema ) : void

Load assemblies and get exported persistable types from them.

GetAssembliesAndTypesHelper ( string pClassFilenames, string pDependencyFilenames, List &pAssemblyNames, List &pTypes, List &pActualDependencies ) : void

Internal method to be used on a clean domain.

GetLoadedAssemblies ( ) : string[]

Gets filename of all non-dynamic loaded assemblies.

OnAssemblyResolve ( object sender, ResolveEventArgs args ) : Assembly
SolveNameClash ( Type>.IGrouping pNameClash ) : string[]>.Dictionary

From types with the same Name, create new names progressively using FullName to disambiguate.

메소드 상세

Extract() 공개 정적인 메소드

Extract schema information from assemblies.
public static Extract ( string pClassesFilenames, string pDependenciesFilenames ) : SchemaInfo
pClassesFilenames string Assemblies containing /// desired persistable types.
pDependenciesFilenames string Assemblies required by /// pClassesFilenames Assemblies.
리턴 SchemaInfo

GetDataMembers() 공개 정적인 메소드

Gets public instance fields and properties excluding ones internally defined by VelocityDB.
public static GetDataMembers ( Type pType ) : List
pType System.Type
리턴 List

GetTypeFromAnyAssemblyVersion() 공개 정적인 메소드

Load type using Type.GetType(string), and if fails, attempt to load same type from an assembly by assembly name, without specifying assembly version or any other part of the signature
public static GetTypeFromAnyAssemblyVersion ( string typeName ) : Type
typeName string /// The assembly-qualified name of the type to get. /// See System.Type.AssemblyQualifiedName. /// If the type is in the currently executing assembly or in Mscorlib.dll, it /// is sufficient to supply the type name qualified by its namespace. ///
리턴 System.Type