![](/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.