JAS*_*JAS 6 c# vb.net entity-framework
我试着翻译下面的C#代码
public static class ObjectSetExtensions
{
public static void AddObjects<T>(this ObjectSet<T> objectSet, IEnumerable<T> objects)
{
foreach (var item in objects)
{
objectSet.AddObject(item);
}
}
}
Run Code Online (Sandbox Code Playgroud)
到VB.NET:
Module ObjectSetExtensions
<System.Runtime.CompilerServices.Extension()>
Public Sub AddObjects(Of T)(ByVal objectSet As ObjectSet(Of T), ByVal objects As IEnumerable(Of T))
For Each item In objects
objectSet.AddObject(item)
Next
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
但是我收到的错误是:
类型参数'T'不满足类型参数'TEntity'的'Class'约束.
我错过了什么?
Jon*_*eet 12
出于同样的原因,C#版本也没有编译.它应该是:
public static void AddObjects<T>(this ObjectSet<T> objectSet,
IEnumerable<T> objects)
where T : class // Note this bit
{
foreach (var item in objects)
{
objectSet.AddObject(item);
}
}
Run Code Online (Sandbox Code Playgroud)
VB版本是:
<Extension> _
Public Sub AddObjects(Of T As Class)(ByVal objectSet As ObjectSet(Of T), _
ByVal objects As IEnumerable(Of T))
Dim local As T
For Each local In objects
objectSet.AddObject(local)
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
请注意,在VB版本中,约束是类型参数声明的一部分.有关更多详细信息,请参阅MSDN.
| 归档时间: |
|
| 查看次数: |
1241 次 |
| 最近记录: |