2015-06-01 4 views
1

Мне нужно использовать следующую строковую переменную класса программы для класса TelnetConnection, я делаю все возможные способы, но не работаю, пожалуйста, дай мне sugessions. Спасибо.Как использовать переменную класса программы для другого класса?

класс программа

class Program 
{  
    static void main() 
    { 
    string s = telnet.Login("some credentials"); 
    } 
} 

TelnetConnection класс

class TelnetConnection 
{ 
     public string Login(string Username, string Password, int LoginTimeOutMs) 
     { 

      int oldTimeOutMs = TimeOutMs; 
      TimeOutMs = LoginTimeOutMs; 

      WriteLine(Username); 

      s += Read(); 

      WriteLine(Password); 

      s += Read(); 
      TimeOutMs = oldTimeOutMs; 
      return s; 
     } 
    } 
+2

пожалуйста, дополнительно прояснить этот вопрос и выкладываю TelnetInterface (класс?). –

+0

Вам нужно создать экземпляр объекта типа «TelnetConnection» или сделать статический метод «Вход» статическим, чтобы использовать его в «Program.main()» –

ответ

4

Это должно быть что-то вроде этого:

public class TelnetConnection 
{ 
    public string Login(string Username, string Password, int LoginTimeOutMs) 
    { 
     string retVal = ""; 

     int oldTimeOutMs = TimeOutMs; 
     TimeOutMs = LoginTimeOutMs; 

     WriteLine(Username); 

     retVal += Read(); 

     WriteLine(Password); 

     retVal += Read(); 
     TimeOutMs = oldTimeOutMs; 
     return retVal ; 
    } 
} 

В программе:

class Program 
{  
    static void main() 
    { 
     var telnet = new TelnetConnection(); 
     string s = telnet.Login("some username", "some password", 123); 
    } 
} 

Но, похоже, в вашем примере отсутствует код, особенно реализация метода Read.

Если вы хотите изменить переменную строку программы, вы можете передать его в метод с ref ключевого слова:

public class TelnetConnection 
{ 
    public string Login(string Username, 
         string Password, int LoginTimeOutMs, ref string retVal) 
    { 
     //omitted 
     retVal += Read(); 

     WriteLine(Password); 

     retVal += Read(); 
     TimeOutMs = oldTimeOutMs; 
     return retVal ; 
    } 
} 

В программе:

class Program 
{  
    static void main() 
    { 
     var telnet = new TelnetConnection(); 
     string s = ""; 
     telnet.Login("some username", "some password", 123, ref s); 
     //s is altered here 
    } 
} 
+0

, заработал благодарность. – Member123

Смежные вопросы