投稿者 魔界の仮面弁士  (社会人) 投稿日時 2011/11/30 18:25:16
> これをVB2005に変換する場合はどのようになりますか? 
VB には代入演算子のオーバーロードがありませんし、
const の部分も完全に同じ機能が無いため訳しきれません。

言語機能の差をどこまで吸収する必要があるのかにもよりますが、
強いて訳すとこんな感じであろうかと思います。
「直訳」ではなく「意訳」した部分もあるので、
求めるコードになっているかどうかは分かりませんけれども。

' 小文字2文字な型名というのは、.NET の標準的な命名規約から 
' 外れることになりますので、あまりおすすめしません。 
Imports vi = System.Collections.Generic.List(Of Integer)
Imports vb = System.Collections.Generic.List(Of Boolean)
Imports vd = System.Collections.Generic.List(Of Double)

Public Class MlpParam
    Implements ICloneable

    Public size  As vi      '素子数 
    Public act   As vb      '出力関数 
    Public eta   As Double  '学習率 
    Public theta As Double  '温度 

    Public Sub New()
        size = New vi()
        act = New vb()
    End Sub

    ''' <summary>コピーコンストラクタ</summary> 
    Public Sub New(ByVal mp As MlpParam)
        Me.size = New vi(mp.size.ToArray())
        Me.act = New vb(mp.act.ToArray())
        Me.eta = mp.eta
        Me.theta = mp.theta
    End Sub

    Public Function Clone() As Object Implements ICloneable.Clone
        Return New MlpParam(Me)
    End Function
End Class