Namespace System
Namespace Reflection


/*!
@brief	メンバの属性に関する情報を取得し、メンバのメタデータにアクセスできるようにします。
*/
Class MemberInfo
	name As String
	memberType As TypeInfo
	offset As LONG_PTR
Public

	/*!
	@brief	コンストラクタ
	@param	name メンバの名前
			memberType メンバの型
	*/
	Sub MemberInfo( name As String, memberType As TypeInfo, offset As LONG_PTR )
		This.name = name
		This.memberType = memberType
		This.offset = offset
	End Sub

	/*!
	@brief	メンバの名前を取得する。
	@return	メンバの名前。
	*/
	Function Name() As String
		Return name
	End Function

	/*!
	@brief	メンバの型を取得する。
	@return	メンバの型。
	*/
	Function MemberType() As TypeInfo
		Return memberType
	End Function

	/*!
	@brief	クラスの先頭ポインタからのオフセット値を取得する。
	@return	クラスの先頭ポインタからのオフセット値。
	*/
	Function _System_Offset() As LONG_PTR
		Return offset
	End Function
End Class


End Namespace
End Namespace
