Tys*_*Tys 2 c# asp.net umbraco
在许多Umbraco示例中,我看到了相同类型工作的两种不同方法.有时人们选择,查询并返回INode.其他人用Node做任何事情.
谁能告诉我哪种工作方式首选?
我不熟悉Umbraco,但我不认为答案必须具体到它.
如果你返回INode,它将来会给你灵活性,你可以返回(内部)任何扩展的类INode.如果INode包含所有属性和方法Node,则执行此操作不会丢失任何功能.
举个例子,使用IEnumerablevs 的机会List
IEnumerable<int> x = MyClass.MyMethod();
Run Code Online (Sandbox Code Playgroud)
以下定义MyMethod在此类示例中都有效.
public static IEnumerable<int> MyMethod()
{
return new List<int>() { 1, 2, 3 };
}
....
public static IEnumerable<int> MyMethod()
{
return new int[] {1, 2, 3};
}
Run Code Online (Sandbox Code Playgroud)
这使您可以更改实现,MyMethod而无需修改每个调用者.
对于您的方法,您应该返回最简单的类型,该类型提供与其上下文相关的所有功能.假如你需要修改MyMethod返回的列表,那么返回IEnumerable是一个糟糕的选择(因为它是不可变的).
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |