コード例 #1
0
 private string FunctionBeforeQuery <T>(MetadataBuilder builder, ExecutionInformation info, OracleUdtInfo udt, out MetadataBase metadata, out OracleParameter parameter)
 {
     if (typeof(T).IsBoolean())
     {
         metadata  = _MetadataFactory.CreateBoolean();
         parameter = null;
         return("ret := ");
     }
     else if (typeof(T).IsClrType())
     {
         metadata  = new MetadataBase();
         parameter = FunctionReturnOracleParameter <T>(info, metadata);
         return($"{parameter.ParameterName} := ");
     }
     else
     {
         metadata  = builder.GetOrRegisterMetadataOracleObject <T>(udt);
         parameter = null;
         return("ret := ");
     }
 }