2015-10-20 2 views
-1

Может ли кто-нибудь помочь в этом преобразовании, я изменил его после использования некоторого инструмента преобразования, но он не работает.vb to C# преобразование для препроцессоров

Public Sub New() 

#If CONFIG = "Debug" Or CONFIG = "Release" Then 
     strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
#ElseIf CONFIG = "QA" Then 
     strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
#ElseIf CONFIG = "QA2" Then 
     strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
#ElseIf CONFIG = "Prod" Then 
     strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
     strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings("").ToString() 
#End If 
     isConnectionIssue = False 

     Try 
/*Here some code to fetch data from data base */ 
     Catch ex As Exception 
      Throw New Exception(ex.ToString()) 
     End Try 
    End Sub 

конвертирован в C#, как показано ниже, также используются уже определить для определения используемых переменного в верхней части страницы

public SameMethod() 
    { 


      #if CONFIG== Debug || CONFIG ==Release 
         { 
          strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
         } 
      #elif CONFIG==QA 
         { 
          strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
         } 

      #elif CONFIG== QA2 
         { 
          strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
         } 

      #elif CONFIG==Prod 
         { 
          strDBCNDN = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCMDR = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
          strDBCQueueReader = System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString(); 
         } 
     #endif 
     isConnectionIssue = false; 

     try 
     { 
      strAppName = System.Configuration.ConfigurationManager.AppSettings[""].ToString(); 

      /*some code for database*/ 
     } 
     catch (Exception ex) 
     { 
      throw new Exception(ex.ToString()); 
     } 
    } 
+0

В чем проблема, с которой вы сталкиваетесь? Какая ошибка? Это поможет нам многое! – BurningLights

+0

Ошибка сборки или компиляции, когда я поставил точку останова там, она ничего не читает – user3178955

ответ

0

Согласно этой статье MSDN: https://msdn.microsoft.com/en-us/library/4y6tbswk.aspx - вы не сможете сделать сравнение такого как CONFIG == Debug. Это потому, что препроцессор C# #IF может только проверить, определен ли символ. Эти символы могут быть истинными или ложными.

Вы можете рассмотреть вопрос о замене их с #IF DEBUG и #ELIF QA, потому что, как вы можете определить DEBUG и QA символов для каждой конфигурации сборки.