2
나는 C#으로 몇 가지 해결 방법을 보았지만 vb.net을 사용하고 있으며, 속성에 대한 대리인을 호출 할 수는 없습니다. 나는 doN을 알지 못했고, 아무도 모를 것 같습니다. 정직하고 대답을대리인 위임
그래서 만약 누군가 수행합니다 추가 또는 유형 TProp
의 PropertyName
라는 속성에 대해 속성
나는 C#으로 몇 가지 해결 방법을 보았지만 vb.net을 사용하고 있으며, 속성에 대한 대리인을 호출 할 수는 없습니다. 나는 doN을 알지 못했고, 아무도 모를 것 같습니다. 정직하고 대답을대리인 위임
그래서 만약 누군가 수행합니다 추가 또는 유형 TProp
의 PropertyName
라는 속성에 대해 속성
에 대한 대리자를 만드는 기본이되는 구현은 2 가지 방법입니다 방법 :
function get_PropertyName() as TProp
sub set_PropertyName(value as TProp)
다음은 문자열 속성에 대한 예입니다 :
Public Delegate Function StringGetter() As String
Public Delegate Sub StringSetter(value As String)
Class Test
Public Property MyProp As String
End Class
Public Sub Main()
Dim testObj As New Test With {.MyProp = "Hello"}
Dim getter = [Delegate].CreateDelegate(GetType(StringGetter), testObj, "get_MyProp")
If CType(getter.DynamicInvoke(), String) <> "Hello" Then Throw New Exception("get failed")
Dim setter = [Delegate].CreateDelegate(GetType(StringSetter), testObj, "set_MyProp")
setter.DynamicInvoke("Hello2")
If testObj.MyProp <> "Hello2" Then Throw New Exception("set failed")
End Sub
는 당신이 우리에게 C#을 해결 방법을 보여 VB.NET에서 무엇을 찾고 있는지 설명 할 수 있습니까? –
예 분 이내 편집 찾을 수 없음 : S – Mokmeuh
대리인이 대상 메서드가 필요합니다. 따라서 속성을 반환하는 값을 작성하십시오. 그것을 람다 (lambda)로 압축하십시오. –