C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 参照先の型を使いたいが・・・


(過去ログ 65 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■37963 / inTopicNo.1)  参照先の型を使いたいが・・・
  
□投稿者/ よしだ (1回)-(2009/07/04(Sat) 00:20:09)

分類:[.NET 全般] 

すいません、以下のような状況でSDK2で定義されてる型(SDK2param)を使用し
画面で値をセットしSDK1に渡す、という事は可能でしょうか?
制限があって画面からはSDK1しか参照できない状況です。
(SDK1からはSDK2を参照設定しています。)

何か良いお知恵がありましたら、どうかよろしくお願いします。

■画面ソース
--------------------------------------------------------------------------
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim aaa As New SDK.SDK1

'ここでSDK2にあるSDK2Paramに値をセットし、
'SDK1のGetNameを使いたい
End Sub
End Class
--------------------------------------------------------------------------

■SDK1.dll
--------------------------------------------------------------------------
Public Class SDK1
Public Function GetName(ByVal value As SDK2.SDK2param) As String
Dim bbb As New SDK2.SDK2

Return bbb.GetName(value)
End Function
End Class
--------------------------------------------------------------------------

■SDK2.dll
--------------------------------------------------------------------------
Public Class SDK2
Public Function GetName(ByVal value As SDK2param) As String
Return value.Name & ":SDK2"
End Function
End Class

Public Class SDK2param
Private localname As String

Public Property Name() As String
Get
Return localname
End Get
Set(ByVal value As String)
localname = value
End Set
End Property
End Class
--------------------------------------------------------------------------

よろしくお願いします。
引用返信 編集キー/
■37966 / inTopicNo.2)  Re[1]: 参照先の型を使いたいが・・・
□投稿者/ Azulean (410回)-(2009/07/04(Sat) 08:53:57)
No37963 (よしだ さん) に返信
> 制限があって画面からはSDK1しか参照できない状況です。
その「制限」はなぜあるのでしょうか?

SDK2Paramが使うためには参照設定を行うか、Assembly.Load等で実行時に参照する必要があります。
デザイン時か実行時の違いはありますが、「参照」することになります。

SDK1側が編集可能なのであれば、SDK2Paramに設定するべき値を引数で渡せるようにした関数を追加することも考えられます。

引用返信 編集キー/
■37969 / inTopicNo.3)  Re[1]: 参照先の型を使いたいが・・・
□投稿者/ Jitta on the way (345回)-(2009/07/04(Sat) 18:57:58)
No37963 (よしだ さん) に返信
> すいません、以下のような状況でSDK2で定義されてる型(SDK2param)を使用し
> 画面で値をセットしSDK1に渡す、という事は可能でしょうか?
> 制限があって画面からはSDK1しか参照できない状況です。
> (SDK1からはSDK2を参照設定しています。)
>
> 何か良いお知恵がありましたら、どうかよろしくお願いします。
>
> ■画面ソース
> --------------------------------------------------------------------------
> Public Class Form1
>
> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
> Dim aaa As New SDK.SDK1
>
> 'ここでSDK2にあるSDK2Paramに値をセットし、
> 'SDK1のGetNameを使いたい
> End Sub
> End Class
> --------------------------------------------------------------------------
>
> ■SDK1.dll
> --------------------------------------------------------------------------
> Public Class SDK1
> Public Function GetName(ByVal value As SDK2.SDK2param) As String
> Dim bbb As New SDK2.SDK2
>
> Return bbb.GetName(value)
> End Function

外から貰ったものに、中で作ったものをそのまま渡していますから、クラス メソッドにしてしまって構いませんよね?



> End Class
> --------------------------------------------------------------------------
>
> ■SDK2.dll
> --------------------------------------------------------------------------
> Public Class SDK2
> Public Function GetName(ByVal value As SDK2param) As String
> Return value.Name & ":SDK2"
> End Function

同じく。


> End Class
>
> Public Class SDK2param
> Private localname As String
>
> Public Property Name() As String
> Get
> Return localname
> End Get
> Set(ByVal value As String)
> localname = value
> End Set
> End Property
> End Class
> --------------------------------------------------------------------------
>
> よろしくお願いします。

SDK1 に、ラップ クラスを作るとか。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -