이 메서드가 포함 된 프로젝트를 컴파일하려고합니다.기본 유형으로 캐스팅하고 매개 변수로 사용 하시겠습니까?
public void Send<T>(object o) where T : struct {
BinaryWriter bw = new BinaryWriter(stream);
bw.Write((T)o);
}
나는이 방법 (작업 중)에서 영감을 얻었다.
public static T Cast<T>(object o) {
return (T)o;
}
BinaryWriter.Write 함수는 매개 변수의 기본 형식을 지원하므로이 형식을 사용할 수 있다고 생각했습니다. 그러나 Visual Studio에서 ""System.IO.BinaryWriter.Write (bool)에 가장 적합한 오버로드 된 메서드가 잘못된 인수를 가지고 있습니다. "
모든 기본 유형을 포함하는 긴 switch 문을 쓰는 것을 피하려고합니다. 유형을 선택하기위한 메소드에 매개 변수를 추가하십시오. 이것은 추악하고 옳지 않은 것처럼 보입니다.
이 소쇄이다
- 가 < INT> (123)에 전송;
- 보내기 < bool> (true);
하지만 왜 작동하지 않습니까? 그리고 그것을하는 올바른 방법은 무엇입니까?
그걸로 무엇을하려고합니까? [serialization concept] (http://msdn.microsoft.com/en-us/library/4abbf6k0(v=vs.71).aspx)에 익숙합니까, 아마도 그건 당신이 시도 할 수있는 다른 접근법입니다. – danielQ