我正在定义几个表示事务的类,我需要定义一个TransactionType枚举。
我班级的原型是:
public class Transaction
{
public enum Type { Income, Outcome }
public DateTime Date { get; set;}
public Type Type { get; set;}
public decimal Amount { get; set;}
}
有些人会说应该在命名空间范围内声明TransactionType枚举,但对于那些我会说这个Type只与Transaction有关,所以IMO应该在类中声明。 如果我在类中声明它,则字段类型声明中存在编译器错误。 我应该把它命名为类型吗?不要猜,因为我需要将收入称为类型而不是类型。
请说出您对此主题的看法,谢谢。
答案 0 :(得分:2)
Type
是System.Reflection最重要的类之一。我会用另一个名字,因为它非常暧昧。
答案 1 :(得分:1)
调用枚举TransactionType
并将其移到课堂外。该名称与Transaction.Type
一样具有描述性,它解决了命名冲突问题。
答案 2 :(得分:0)
然后点击TransactionType
。它仍然足够短,但它会使你的代码更具可读性。
答案 3 :(得分:0)
您可以尝试定义具有最小可见性的任何类型。在你的情况下,public enum Type { Income, Outcome }
是公开的,所以它并不重要。如果它是私有的,那么你将它保持为嵌套类型。
最佳做法是将所有公共类型保存在单独的文件中。