在 C# 中用 where 继承到 VB
inheritance with where in C# to VB
谁能解释一下下面函数的含义?抱歉,我是 VB 开发人员,我无法理解以下语法。转换器工具将无意义的代码转换为 VB 代码。
- 不明白T的用法
我不明白Where T
的继承
public static string ValidateSeName<T>(this T entity, string seName, string name, bool ensureNotEmpty)
where T : BaseEntity, ISlugSupported
{
}
调用此函数的地方,调用函数如下所示。这个 T 实体的第一个参数发生了什么,它没有用作参数?它的目的是什么?
model.SeName = category.ValidateSeName(model.SeName, category.Name, true);
如果你也能给我 VB 中的相等代码,那将会很有帮助。
谢谢
这是一个通用的扩展方法,VB.NET supports it also:
Public Module MyExtensionMethods
<System.Runtime.CompilerServices.Extension()> _
Public Function ValidateSeName(Of T As { BaseEntity, ISlugSupported })(entity As T, seName As String, name As String, ensureNotEmpty As Boolean) As String
End Function
End Module
where
(在 C# 中)或 As
(在 VB.NET 中)定义的约束与继承无关。它只是告诉编译器 T
.
只允许这些类型
谁能解释一下下面函数的含义?抱歉,我是 VB 开发人员,我无法理解以下语法。转换器工具将无意义的代码转换为 VB 代码。
- 不明白T的用法
我不明白Where T
的继承public static string ValidateSeName<T>(this T entity, string seName, string name, bool ensureNotEmpty) where T : BaseEntity, ISlugSupported { }
调用此函数的地方,调用函数如下所示。这个 T 实体的第一个参数发生了什么,它没有用作参数?它的目的是什么?
model.SeName = category.ValidateSeName(model.SeName, category.Name, true);
如果你也能给我 VB 中的相等代码,那将会很有帮助。 谢谢
这是一个通用的扩展方法,VB.NET supports it also:
Public Module MyExtensionMethods
<System.Runtime.CompilerServices.Extension()> _
Public Function ValidateSeName(Of T As { BaseEntity, ISlugSupported })(entity As T, seName As String, name As String, ensureNotEmpty As Boolean) As String
End Function
End Module
where
(在 C# 中)或 As
(在 VB.NET 中)定义的约束与继承无关。它只是告诉编译器 T
.