이 요청에 대한 문제는 TryParse가 개체 수준에서 지정되지 않은 것입니다.
찾고있는 데이터 유형이 고정되어 있으면 확장 메서드를 사용하여 Object 유형을 확장하거나 ObjectArray 구현에 테스트를 추가 할 수 있습니다. 로
public static class MyExtensions
{
public static bool TryParse(this Object oObject, string s, out int result)
{
return System.Int32.TryParse(s, out result);
}
}
및 사용 :
Object test = new object();
int x;
test.TryParse("1", out x);
업데이트
나는 성공적으로 다음 코드를 사용하여 C#에서 Object 클래스에 확장 메소드를 구현 할 수 있었다 그러나 이것을 Visual Basic으로 이식하려고 시도했을 때 많은 것을 확장 할 수 있지만 Object 데이터는 확장 할 수 없음을 발견했습니다. 이자형. 이 질문에 더 많은 내용이 있습니다 : VB.NET: impossible to use Extension method on System.Object instance
그래서 C#에서 Object를 확장 할 수 있습니다. 또는 임의의 객체가 특정 기본 유형이거나 특정 인터페이스를 구현하는 경우이 기능을 구현하기 위해 확장 할 수 있습니다 .
대신이 기능을 개체 배열 클래스에 직접 추가 한 다음 기본 데이터 형식을 기반으로 호출 할 tryparse를 결정할 수도 있습니다. objectarray 클래스 내에서
:
Public Function TryParse(wIndex As Integer, s As String) As Boolean
Dim oObject As Object
oObject = Me.Item(wIndex)
Select Case oObject.GetType.Name.ToLower
Case "int32", "system.int32"
Dim wTestInt As Integer
Return Int32.TryParse(s, wTestInt)
' Etc...
End Select
End Function