.net 从上级那里得到信息?

.net 从上级那里得到信息?,.net,vb.net,oop,class,.net,Vb.net,Oop,Class,我真的不知道该怎么回答这个问题,所以请容忍我 我有3个类:服务器、数据库和表。每个类都有一个“Name”属性。我希望它的工作方式是,每个服务器可以有多个数据库,每个数据库可以有多个表。所以在服务器类中,我有这个属性 Private _databases As List(Of Database) Public Property Databases() As List(Of Database) Get Return _databases End Get Set

我真的不知道该怎么回答这个问题,所以请容忍我

我有3个类:服务器、数据库和表。每个类都有一个“Name”属性。我希望它的工作方式是,每个服务器可以有多个数据库,每个数据库可以有多个表。所以在服务器类中,我有这个属性

Private _databases As List(Of Database)
Public Property Databases() As List(Of Database)
    Get
        Return _databases
    End Get
    Set(ByVal value As List(Of Database))
        _databases = value
    End Set
End Property
我在数据库类中为表提供了类似的功能。现在这很好,因为我可以这样做来获取服务器中的所有数据库

For Each db In s.Databases 's being the server object
        Debug.Print(db.Name)

    Next
我想扩展这些课程。我希望服务器类处理所有连接信息,并且希望其他类在其中使用服务器类的连接信息

例如,我设置了一个服务器类,并将连接字符串设置为服务器。然后,我希望数据库类使用serverclass.connectionstring属性连接到服务器并获取所有数据库的列表。但是我想把代码保存在数据库类中。我该怎么做

我附上了一些我想做的代码

Public Class Server

Private _name As String
Public Property Name() As String
    Get
        Return _name
    End Get
    Set(ByVal value As String)
        _name = value
    End Set
End Property


Private _databases As List(Of Database)
Public Property Databases() As List(Of Database)
    Get
        Return _databases
    End Get
    Set(ByVal value As List(Of Database))
        _databases = value
    End Set
End Property
End Class

'-----New class  

Public Class Database

Private _name As String
Public Property Name() As String
    Get
        Return _name
    End Get
    Set(ByVal value As String)
        _name = value
    End Set
End Property


Private _tables As List(Of Table)
Public Property Tables() As List(Of Table)
    Get
        Return _tables
    End Get
    Set(ByVal value As List(Of Table))
        _tables = value
    End Set
End Property

'This is where I need help!
Private Sub LoadTables () 
    dim connectionstring as string = server.connectionstring 'Possible?

    'Do database stuff
End Class

谢谢你的阅读

在构建数据库时将服务器传递给数据库,并设置一个字段。这是一种非常基本的形式。

您必须在子类中包含对“owner”类的引用

不使用代码(为了简洁起见),您现在就可以

Server
----------
Databases   -----> Database
Name               ------------
                   Tables       -----> Table
                   Name                --------------
                                       Name
你想要的是这样的:

Server
----------
Databases   -----> Database
Name               ------------
  ^                Tables       -----> Table
  |                Name                --------------
   --------------- Server              Name
                     ^                 Database
                     |-------------------|

数据库
类上的
服务器
属性和
类上的
数据库
属性旨在引用每个拥有它们的实例。

我个人会让数据库知道它存储在哪个服务器上,这样数据库就可以根据给定的服务器知道连接到哪里

这样做看起来像:

public class Database {
    public Database(Server server) {
        Server = server;
    }

    public Server Server { get; private set; }
}

谢谢,这就是我想做的。+1的链接和它的名称。我一直在寻找更多的东西!谢谢你让我知道我给你带来了一些东西。这真是太好了