[英]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.