如何在 .NET 中初始化通用对象

hpnmoater5554

我有 3 个不同的课程——铅笔、钢笔和书。

有一个通用对象,称为 obj,可以存储这 3 个类中的任何一个。

如何初始化通用对象?

例如,通常是:

Dim purplePencil as Pencil
purplePencil = New Pencil

现在,我正在这样做:

Dim obj as Object
Dim purplePencil as Pencil
obj = purplePencil
obj = New Pencil

但是,我不知道 obj 是 Pencil、Pen 还是 Book。

那么,有没有办法在不知道确切的类类型的情况下初始化 obj ?

数据库

没有更具体的答案是困难的。您可能正在寻找继承一个非常简单的例子。

首先是班级

Public MustInherit Class BaseClass

End Class

Public Class pencil
    Inherits BaseClass

End Class

Public Class pen
    Inherits BaseClass

End Class

Public Class book
    Inherits BaseClass

End Class

Public Class obj
    Private someClass As BaseClass

    Public Sub New(whBase As BaseClass)
        Me.someClass = whBase
    End Sub

    Public Function WhBase() As String
        Return Me.someClass.GetType.Name
    End Function
End Class

然后在使用

    Dim ob As New obj(New pen)
    Debug.WriteLine(ob.WhBase)
    ob = New obj(New book)
    Debug.WriteLine(ob.WhBase)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何初始化在VB.NET中的结构内部创建的对象数组?

如何在Java通用方法中初始化实例

如何在C ++中初始化通用基类

如何在VBA中初始化对象的属性的帮助下初始化对象

如何在配置文件中初始化log4net GlobalContext属性

如何在VB.NET中初始化Dictionary(Of String,HashSet(Of String))?

如何在 .NET 6 类库中初始化 ILogger?

如何在Java中初始化对象的静态数组

如何在Java中初始化List <String>对象?

如何在C ++中取消初始化对象?

如何在 Java 中静态初始化对象数组

如何在TypeScript中初始化对象

如何在C ++中初始化对象引用?

如何在构造函数中初始化对象数组?

如何在Java中初始化ThreadLocal对象

如何在Java中初始化对象数组

如何在Javascript中初始化类对象

如何在python中初始化time()对象

如何在Java中初始化Graphics对象?

如何在Delphi中从导入的DLL初始化对象?

如何在 Python 中重新初始化类对象?

如何在 Python 中重新初始化类对象?

我如何在初始化列表中的构造函数之后初始化变量/对象?

通过ASP.NET Core中的DI从初始化的对象初始化对象

如何在初始化时将不同数量的对象包括在初始化列表中?

如何在基于 ASP.NET Core 5 的多层 Web 应用程序中初始化 AutoMapper?

我们如何在结构上初始化List类型属性?在vb.net中

如何在Swift中初始化通用可变数组?

如何在抽象类中初始化通用值?