本文介绍了确定一个通用的参数是一个空类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下VB.NET的功能,例如:

I have the following VB.NET function, for example:

Public Function MyFunction (Of TData) (ByVal InParam As Integer) As TData

End Sub

我如何,在一个函数,确定是否 TDATA 是可空类型?

推荐答案

一种方法是:

If Nullable.GetUnderlyingType(GetType(TData)) <> Nothing

......至少,在C#是:

... at least, the C# is:

if (Nullable.GetUnderlyingType(typeof(TData)) != null)

这是假设你问它是否是一个空值类型。如果你问它是否是一个空值类型的或类的那么C#的版本是:

That's assuming you're asking whether it's a nullable value type. If you're asking whether it's a nullable value type or a class then the C# version would be:

if (default(TData) == null)

但我不知道一个简单的VB转换是否会在那里工作,为无是VB略有不同。

but I'm not sure whether a simple VB translation would work there, as "Nothing" is slightly different in VB.

这篇关于确定一个通用的参数是一个空类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-02 00:56