2011-06-29 6 views
0

クラスライブラリを作成しようとしましたが、次のエラーが発生しました: "WorkMateLib.Login '型の値を' WorkMateLib.Loginの1次元配列事前に助けをクラスが1次元配列に変換されています

Public Class Logins 
    Public CurrentUser As Login() 
    Public Sub New() 
     CurrentUser = New Login() 
    End Sub 
    Public Function Authenticate(ByVal id As String, ByVal pw As String) 
     Dim adpt As New WorkMateDataSetTableAdapters.LoginsTableAdapter 
     For Each k As WorkMateDataSet.LoginsRow In adpt.GetDataByUserName(id) 
      If String.Equals(k.UserPW, pw) Then 
       CurrentUser = New Login(k.UserName, k.UserPW, k.UserType) 
       Return CurrentUser 
       Exit Function 
      End If 
     Next 
     CurrentUser = Nothing 
     Return Nothing 
    End Function 

End Class 

Public Class Login 
    Private _UserName As String 
    Private _UserPW As String 
    Private _UserType As String 
    Property UserName 
     Get 
      Return _UserName 
     End Get 
     Set(value) 
      _UserName = value 
     End Set 
    End Property 
    Property UserPW 
     Get 
      Return _UserPW 
     End Get 
     Set(value) 
      _UserPW = value 
     End Set 
    End Property 
    Property UserType 
     Get 
      Return _UserType 
     End Get 
     Set(value) 
      _UserType = value 
     End Set 
    End Property 
    Public Sub New() 
     UserName = "" 
     UserPW = "" 
     UserType = "" 
    End Sub 
    Public Sub New(ByVal Namee As String, ByVal pw As String, ByVal typee As String) 
     UserName = Namee 
     UserPW = pw 
     UserType = typee 
    End Sub 

End Class 

感謝を次のように「」

クラスのコードがあります。

答えて

5

ただ型の配列にそれを変更するタイプの最後に()追加

Dim CurrentUser as Login 

であるべきです。

は、あなたは本当にLoginオブジェクトのインスタンスをインスタンス化し、CurrentUser変数に代入されます。このよう

Dim CurrentUser As Login = New Login 

として変数を宣言する必要があります。現在は、Loginタイプの変数を作成していますが、値を与えません。

+0

しかし、logins.CurrentUserを初期化して使用しようとしましたが、インスタンスに設定されていないというエラーが表示されています。これはlogins.currentuser = new Servicel.Loginを使用して解決します。なぜこのようなことが起こったのか説明してください。どのような変更が必要ですか? – surpavan

+0

はい、私の編集を見てください – msarchet

+0

はい、私は理解していますが、CUrrentuser = newログインをLoginsクラスコンストラクタ自体に置くことによってそれを達成できないのはなぜですか? – surpavan

関連する問題