바인딩과 VB.Net에서 C#을 DLL 내부에 위치하는 방법을, 전화를 어떻게 얼마나 다양한 "초기화", "누산"에 그립을 얻을 수 없습니다 ... 방법은 호출 가능하도록 작동 메서드는 VB.Net 코드에서 DLL 안에 있습니다.후반
public double ComputeMeanPosition(ref SortedList<DateTime, double> posByTime)
당신이 제발 친절하게 방법의 사용의 실제 예를 날 지점, 또는 단순히 어떻게 실제로 나에게로 몇 가지 힌트를 줄 것이다 :
의이 방법은 전화를 가정 해 봅시다하면 다음과 같은 서명이 메서드에 매개 변수를 전달하고, 호출하고 결과를 가져 오겠습니까?
@Olivier Jacot-Descombes : 나는 확실히 네임 스페이스 이름으로 클래스 이름 앞에 있지만 아직 객체에 도달 할 수 실패합니다. 사실 나는,로드 된 DLL의 성찰을 통해 표시되는 네 종류의 제안은 다음과 같은 방법을 포함하지 않는 것을 놀랜다 : 나는 다음과 비슷한 코드를 사실
Type: MyClassName
Method: Void Init()
Method: Void Accumulate(System.Data.SqlTypes.SqlDouble, System.Data.SqlTypes.SqlDateTime, System.Data.SqlTypes.SqlBoolean)
Method: Void Merge(MyClassName)
Method: System.Data.SqlTypes.SqlDouble Terminate()
Method: Void Write(System.IO.BinaryWriter)
Method: Void Read(System.IO.BinaryReader)
Method: Boolean Equals(System.Object)
Method: Int32 GetHashCode()
Method: System.String ToString()
Method: System.Type GetType()
편집, DLL을 검사하고 그 중 몇 가지 유형과 메소드를 성공적으로 관리하여 위에서 호출 한 메소드에 대해 위의 결과를 얻습니다. 여기
이 보인다 코드끝에For Each oneModule As Reflection.Module In useAssembly.GetLoadedModules() Console.WriteLine(" - " & oneModule.Name) For Each oneType As System.Type In oneModule.GetTypes() Console.WriteLine(" Type: " & oneType.Name) For Each oneField As Reflection.FieldInfo In oneType.GetFields() Console.WriteLine(" Field: " & oneField.ToString()) Next oneField For Each oneMethod As Reflection.MethodInfo In oneType.GetMethods() Console.WriteLine(" Method: " & oneMethod.ToString()) [[ ADD "Invoke" here ?]] Next oneMethod Next oneType Next oneModule
있다는 [...] 상기 호출 방법의 메소드를 호출하는 호출되어야하는 장소에있을 내 선택,하지만 그게 내가 붙어있어 ... 내가 그것을 호출하기 전에 개체를 작성해야합니까? 매개 변수를 어떻게 전달해야합니까? 결과를 얻는 방법? VB에서 다음과 같이
Public Function ComputeMeanPosition(_
ByRef posByTime As SortedList(Of DateTime, Double)) As Double
참고 선언 된 것처럼
어떻게 당신이에 메서드를 호출 할 객체를 만드는? –
메소드가 정적 인 경우를 가정 해 보겠습니다. 그냥 물건을 계산합니다. 그래서 VB.Net 코드에서, 나는 그것을 전달해야 할 객체들을 가지고있다. DLL을로드하고 난 다음 메서드를 호출하고 싶습니다 ... –