Jakir Hossain
Jakir Hossain

Reputation: 431

Is it possible to pass object of a class as function parameters?

For this Business Login Layer class:

 Public Class BankEntity

        Private _bankCode As String
        Private _bankName As String
        Private _bankAddress As String

        Public Property bankCode() As String
           Get
               Return _bankCode 
           End Get
           Set(ByVal value As String)
               _bankCode = value
           End Set
        End Property

        Public Property bankName() As String
           Get
               Return _bankName 
           End Get
           Set(ByVal value As String)
               _bankName = value
           End Set
        End Property

        Public Property bankAddress () As String
           Get
               Return _bankAddress 
           End Get
           Set(ByVal value As String)
               _bankAddress = value
           End Set
        End Property

    End Class

and this is data access layer class

   Imports System
   Imports System.Data
   Imports System.Data.SqlClient

Public Class SqlHelper

   Private _connStr As String = "Data Source=NEO-PC\SQLEXPRESS;Initial Catalog=dbBank;Integrated Security=True"
   Private _conn As SqlConnection
   Private _cmd As SqlCommand

   Public Function AddNewBank(ByVal BankCode As String, ByVal BankName As String, ByVal BankAddress As String) As Boolean
      _conn = New SqlConnection(_connStr)
      _cmd = New SqlCommand()
      _cmd.Connection = _conn
      _cmd.CommandType = CommandType.StoredProcedure
      _cmd.CommandText = "AddNewBank"
      _cmd.Parameters.AddWithValue("@bankCode", SqlDbType.NVarChar).Value = BankCode
      _cmd.Parameters.AddWithValue("@bankName", SqlDbType.NVarChar).Value = BankName
      _cmd.Parameters.AddWithValue("@bankAddress", SqlDbType.NVarChar).Value = BankAddress
      _conn.Open()
      _cmd.ExecuteNonQuery()
      _conn.Close()
      Return True
    End Function

End Class

and this UI Class

    Dim obj As New sqlHelper
    Dim entity As New bankEntity

       entity.bankCode = txtBankCode.Text
       entity.bankName = txtBankName.Text
       entity.bankAddress = txtBankAddress.Text

     obj.AddNewBank(entity.bankCode , entity.bankName , entity.bankAddress)

I want to put only object (entity) of class (BankEntity) as AddNewBank function's parameters. Something like:

Dim obj As New sqlHelper

Dim entity As New bankEntity
entity.bankCode = txtBankCode.Text
entity.bankName = txtBankName.Text
entity.bankAddress = txtBankAddress.Text

obj.AddNewBank(entity) ----please have a look here

Is it possible?

Upvotes: 0

Views: 86

Answers (1)

Pouya Samie
Pouya Samie

Reputation: 3723

You should change your AddNewBank to:

AddNewBank(entity as bankEntity)

Then you can easily pass your entity object to your function.

Upvotes: 1

Related Questions