![](/img/trans.png)
[英]putting a TextChanged function into a class for multiple TextBoxes to use
[英]Putting function in appropriate class
public static FirstObjectType GetObject(SecondObjectType secondobjectType)
{
do something
}
我應該在哪里放置此功能? 就代碼可讀性,習慣和傳統而言,我應該將其放在SecondObjectType類還是FirstObjectType類中? 根據您的經驗,該函數應該包含在返回類還是參數類中?
感謝您的回答。
我通常將方法放在與方法的返回類型相同的類中。
例如:
public static FirstObjectType GetObject(SecondObjectType secondobjectType)
{
do something
}
將放在FirstObjectType類中。
另外,您可以使用工廠模式並擁有一個工廠來獲取所需的對象。 這可以使您的代碼類似於以下內容:
FirstObjectTypeFactory.GetObject(SecondObjectType secondObjectType)
然后,您總是根據對象的返回類型知道從哪個工廠獲取對象。
這是一種模糊的答案,但我會給出一些一般性提示
如果您具有FirstObjectTypes
的集合,並嘗試查找與SecondObjectType
匹配的SecondObjectType
,則它屬於擁有該集合的類。 這可能是工廠模式。
如果始終創建一個新的FirstObjectType
,則它可能只是FirstObjectType
的構造FirstObjectType
。
SecondObjectType
是否必須具有FirstObjectType
知識? 如果是這樣,那么我將考慮使其成為SecondObjectType
的方法。
還有一百萬種其他情況,沒有一種適合所有情況。
我將為此創建一個擴展方法。
只是在簽名中添加此
public static FirstObjectType GetObject(this SecondObjectType secondobjectType)
{
//do something
}
之后,您可以執行以下操作:
SecondObjectType sobj = new SecondObjectType()
//code
FirstObjectType fobj = sobj.GetObject();
並將其與我的其他擴展方法文件(如ExtensionMethods.cs)一起放入。 或者,如果包含GetObject方法的類也是靜態的,則將其放在同一類中(在本例中為SecondObjectType的類)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.