簡體   English   中英

關於我在C#中實現類的問題

[英]Question on my Class implemention in C#

目前我有一個僅具有屬性的類

class MyEntity
{  
    public string FirstName { get; set; }
    public string LastName  { get; set; } 
}

在我的另一堂課中,我習慣將值設置為

MyEntity objEnt = new MyEntity();
objEnt.FirstName="abc";
objEnt.LastName = "edf";

我擁有僅具有屬性的MyEntity類的原因是為了確保遵守。

這里的問題是,這種方法是否正確? 我可以有多個MyEntity實例

我可以為此使用靜態類嗎? 我該如何使用泛型?

順便說一句,實現是在C#中

提前致謝

干杯,

卡爾提克

  • 由於具有狀態,因此不能使用靜態類。 靜態類只能由靜態成員組成。
  • 很難在這里看到如何使用泛型

就個人而言,我希望類型盡可能地保持不變-例如,通過為MyEntity提供帶有兩個參數的構造函數,並從屬性中刪除公共設置器。 (不管你保持你只是不構造以外使用,或轉移到私人二傳手“適當的”只讀域和只讀屬性是另一種選擇。)但是這種可變類型可能是你絕對罰款-這是不可能不知道該說些您正在嘗試做什么。

請注意,在使用可變類型時,可以使用對象初始化程序簡化初始化過程:

MyEntity objEnt = new MyEntity { FirstName = "abc", LastName = "edf" };

(如果將類型設為不可變的,則可以在構造函數中傳遞值。如果使用的是C#4, 仍可以通過C#4的“命名參數”功能使用名稱。)

如前所述,這取決於您的需求。 只是要注意,您不能使用靜態類,因為您要擁有多個實例,並且在從多個線程進行訪問時同步可能會出現問題。

至於泛型……您在這里需要什么?

我輸入了一半的答案,但喬恩回答了,所以我的當前形式的答案變得毫無意義。

不過,我將對喬恩的回答提出反駁。 在使用不可變對象之前要仔細考慮-從某些角度來看,它們是好的,但是如果將它們用於綁定到可編輯字段或序列化它們(存儲或傳輸,即WCF Web服務調用),則將很快陷入困境。

我假設這是對您未指定的DTO的泛型快速使用。

class MyEntity<T>
{
   public T value { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM