[英]C# class property definitions
如果我使所有類屬性結構成員像下面的代碼一樣,我會創建任何問題嗎?
private struct Properties
{
public int p1;
public int p2;
}
private Properties P;
public int p1 { get { return P.p1; } set { P.p1 = value; } }
public int p2 { get { return P.p2; } set { P.p2 = value; } }
我在VB中做了類似的事情多年,但速度並不重要。 現在我開始在速度很重要的實時項目上開始使用C#。 感謝您的任何反饋!
是。 問題將是不必要的代碼。 你可以像這樣簡短你的代碼,它仍然會起到相同的作用:
public int p1 { get;set; }
public int p2 { get;set; }
如果要在getter或setter上設置斷點,可以使用支持私有字段,如下所示:
private int _p1;
public int P1
{
get { return _p1; }
set { _p1 = value; }
}
private int _p2;
public int P2
{
get { return _p2; }
set { _p2 = value; }
}
老實說,我不認為你的方法會產生任何問題。 如果你的屬性有一個小的額外結構,速度和內存肯定不是問題 - 除非你在一些只有64K Ram左右的設備上運行你的程序,但我認為你沒有。
所以對於你的問題 - 如果你知道你在做什么並訪問正確的結構變量,那么你的代碼就可以了。
但是,如上所述,您的方法遠非最佳實踐。
C#是一種使用自動屬性或具有底層支持字段的屬性的語言,它被認為是最佳實踐,如果您遵循此結構,也是最佳可維護的。
屬性也有很多優點 - 在此鏈接下的更多信息:
MSDN Property Tutorial
因此,總而言之,您的方法不一定錯誤或緩慢 ,這根本不是最佳實踐 。 因為我們鼓勵最佳實踐 ,所以我鼓勵您不要使用您的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.