2017-03-09 65 views
-2

创建一个类级别的变量,我必须为gmailPasswordgmailAddress创建一个类级变量,并在让他们检查邮件或发送邮件之前查看它们是否已登录。我试图解决它,但似乎无法弄清楚。C#制作的Gmail应用程序与用户的一个Gmail帐户交互。我必须为gmailPassword和gmailAddress

static void Main(string[] args) 
{ 

    int userSelection; 
    do 
    { 
     userSelection = Menu(); 

     if (userSelection == 2) 
     { 
      loggingOn(); 
     } 

     else if (userSelection == 2) 
     { 
      getMail(); 
     } 

     else if (userSelection == 4) 
     { 
      sendMail(); 
     } 

    } 
    while (userSelection != 4); 
} 


public static int Menu() 
{ 
    if (loggedIn()) 
    { 
     Console.WriteLine("__________Menu__________"); 
     Console.WriteLine("1) Close the application"); 
     Console.WriteLine("2) Enter your credentials"); 
     Console.WriteLine("3) Check for messages "); 
     Console.WriteLine("4) Send a message"); 
     Console.WriteLine("________________________"); 
    } 
    else 
    { 
     Console.WriteLine("____________Menu____________"); 
     Console.WriteLine("1) Close the application"); 
     Console.WriteLine("2) Enter your Credentials"); 
     Console.WriteLine("____________________________"); 
     Console.WriteLine("what would like to do?"); 
    } 
    return Convert.ToInt32(Console.ReadLine()); 

} 

public static bool loggedIn() 
{ 

    if (gmailAddress == "" || gmailPassword == "") 
    { 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 

public static void loggingOn() 
{ 
    Console.WriteLine("Enter your gmail address: "); 
    gmailAddress = Console.ReadLine(); 

    Console.WriteLine("Enter your gmail password"); 
    gmailPassword = Console.ReadLine(); 
} 

public static void getMail() 
{ 
    string[] messages = Gmail.getMail(gmailAddress, gmailPassword); 
    Console.WriteLine(); 
    Console.WriteLine("_____Messages_____"); 
    for (int i = 0; i < messages.Length; i++) 
    { 
     Console.WriteLine(messages[i]); 
     Console.WriteLine(); 
    } 
    Console.WriteLine("_____________"); 
} 

static void sendMail() 
{ 
    Console.WriteLine("To address :"); 
    string toAddress = Console.ReadLine(); 
    Console.WriteLine("Subject :"); 
    string subject = Console.ReadLine(); 
    Console.WriteLine("Message :"); 
    string messageBody = Console.ReadLine(); 
    Gmail.sendMail(gmailAddress, gmailPassword, toAddress, subject, messageBody); 
    Console.WriteLine("message sent"); 
} 
+0

什么错误你好吗? – Scovetta

+0

cs0103不列入在目前情况下存在 –

+0

你问,你忽略了表现出任何类或字段在程序类级别的变量。 “我无法弄清楚”不是一个问题;展示您的实际工作,然后*提出问题*。你的问题是“什么是领域”? –

回答

0

你可以声明类型的变量IsAuthorizedbool

public static bool IsAuthorized {get;set;} 

这是什么会做的是它的值设置为true当用户成功

public static bool loggedIn() 
{ 

    if (gmailAddress == "" || gmailPassword == "") 
    { 
     return false; 
    } 
    else 
    { 
     IsAuthorized = true; 
     return true; 
    } 
} 

记录,你会做Sendmail中检查像

static void sendMail() 
{ 
    if(IsAuthorized) 
    { 
    Console.WriteLine("To address :"); 
    string toAddress = Console.ReadLine(); 
    Console.WriteLine("Subject :"); 
    string subject = Console.ReadLine(); 
    Console.WriteLine("Message :"); 
    string messageBody = Console.ReadLine(); 
    Gmail.sendMail(gmailAddress, gmailPassword, toAddress, subject, messageBody); 
    Console.WriteLine("message sent"); 

    } 
     else 
    { 
       loggingOn(); 

    } 
} 

它会检查是否使用不是loggedin它会去loggingOn();否则它会发送电子邮件。你也可以用其他方法做到这一点。