[英]Using strings from other classes C#
我有一個類請求在調用時在請求/初始化時發送一個字符串。
class Checks
{
public Checks(string hostname2)
{
// logic here when class loads
}
public void Testing()
{
MessageBox.Show(hostname2);
}
}
如何在類構造函數中獲取字符串“hostname2”並允許在“Checks”類中的任何位置調用此字符串?
例如,我從Form1類調用Checks(hostname2),現在當Checks類初始化時,我可以在Checks類中使用hostname2字符串。
聲明類中的成員並將您傳遞給構造函數內的成員賦值:
class Checks
{
private string hostname2;
public Checks(string hostname2)
{
this.hostname2 = hostname2; // assign to member
}
public void Testing()
{
MessageBox.Show(hostname2);
}
}
如果您還需要外部訪問權限,請將其設為屬性:
class Checks
{
public string Hostname2 { get; set; }
public Checks(string hostname2)
{
this.Hostname2 = hostname2; // assign to property
}
public void Testing()
{
MessageBox.Show(Hostname2);
}
}
按慣例,屬性以大寫字母開頭。 現在您可以像這樣訪問它:
Checks c = new Checks("hello");
string h = c.Hostname2; // h = "hello"
感謝Andy指出這一點:如果您希望該屬性是只讀的,請將setter設為私有:
public string Hostname2 { get; private set; }
您需要在類變量中復制構造函數參數:
class Checks {
// this string, declared in the class body but outside
// methods, is a class variable, and can be accessed by
// any class method.
string _hostname2;
public Checks(string hostname2) {
_hostname2 = hostname2;
}
public void Testing() {
MessageBox.Show(_hostname2);
}
}
您可以公開公共屬性以重新調整hostname2值,該值是公開私有變量的標准
class Checks
{
private string _hostname;
public Checks(string hostname2)
{
_hostname = hostname2;
}
public string Hostname
{
get { return _hostname; }
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.