आपकी विधि GetConnection को तीन पैरामीटर की आवश्यकता है। आपको उन्हें विधि में पास करने की आवश्यकता है।
UserMembers src = new UserMembers();
src.srDatabase =txtSrcUserDatabase.Text;
src.srID = txtSrcUserID.Text.ToUpper();
src.srPass = txtSrcUserPassword.Text;
OracleConnection conn1 = Connection.GetConnection(src.srDatabase, src.srID, src.srPass)
conn1.Open();
......
या आप UserMembers के उदाहरण को GetConnection विधि में इस तरह GetConnection का अधिभार बनाते हुए पास कर सकते हैं
class Connection
{
// the first overload that takes 3 string parameters
public static OracleConnection GetConnection(string dataSource, string userName, string password)
{
....
}
// The second overload that takes an instance of UserMembers
public static OracleConnection GetConnection(UserMembers src )
{
OracleConnection con = null;
if(!string.IsNullOrWhiteSpace(sr.srDatabase) && !string.IsNullOrWhiteSpace(sr.srID) && !string.IsNullOrWhiteSpace(sr.srPass))
{
con = new OracleConnection("Data Source=" + sr.srDatabase + ";User Id=" + sr.srID.ToUpper() + ";Password=" + sr.Pass + ";");
}
return con;
}
}
अलग नोट के रूप में। यदि आप चाहते हैं कि srID सदस्य हमेशा अपर केस में रहे तो इस लॉजिक को सेटर प्रॉपर्टी में ले जाएँ, और जब आप इसे वापस पढ़ने का प्रयास करते हैं तो आप इस सदस्य के उचित स्वरूपण के बारे में चिंता करना बंद कर सकते हैं
public string SID
{
get { return srID ; }
set { srID = value.ToUpper(); }
}