예제 #1
0
 internal static InstallerScriptableItem GetScreiptableItem(
     SqlInstallerScriptGeneratorExportedAttributeBase attributeInfo, InstallerScriptableSqlAssembly sqlAssembly,
     MemberInfo declaredItem)
 {
     InstallerScriptableItem item = null;
     if (attributeInfo is SqlInstallerScriptGeneratorExportedFunction && declaredItem is MethodInfo)
     {
         item = new InstallerScriptableSqlFunction(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly,
             (MethodInfo)declaredItem);
     }
     if (attributeInfo is SqlInstallerScriptGeneratorExportedProcedure && declaredItem is MethodInfo)
     {
         item = new InstallerScriptableSqlProcedure(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly,
             (MethodInfo)declaredItem);
     }
     if (item == null)
         throw new ArgumentOutOfRangeException(nameof(attributeInfo), "unexpected type of attribute");
     return item;
 }
예제 #2
0
        internal static InstallerScriptableItem GetScreiptableItem(
            SqlInstallerScriptGeneratorExportedAttributeBase attributeInfo, InstallerScriptableSqlAssembly sqlAssembly,
            MemberInfo declaredItem)
        {
            InstallerScriptableItem item = null;

            if (attributeInfo is SqlInstallerScriptGeneratorExportedFunction && declaredItem is MethodInfo)
            {
                item = new InstallerScriptableSqlFunction(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly,
                                                          (MethodInfo)declaredItem);
            }
            if (attributeInfo is SqlInstallerScriptGeneratorExportedProcedure && declaredItem is MethodInfo)
            {
                item = new InstallerScriptableSqlProcedure(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly,
                                                           (MethodInfo)declaredItem);
            }
            if (item == null)
            {
                throw new ArgumentOutOfRangeException(nameof(attributeInfo), "unexpected type of attribute");
            }
            return(item);
        }