나는 (비 - 유도) 구조체를 에뮬레이트하고 동일한 공용 인터페이스를 가지고 (이벤트)
기능을 추가하는 의미가있어 클래스를 가지고 있지만, 일부 돌연변이 사건에 대한 내부 코드.
클래스를 에뮬레이트하는 구조체를 예상하는 함수에이 클래스를 전달해야하지만, 너무 느리기 때문에 boxing/unboxing을 피할 필요가 있습니다.재 해석
에뮬레이트 된 구조체가 내 제어하에 있지 않고 인터페이스에서 파생되지 않은 경우 내 함수를 받아들이려면 어떻게해야합니까? 내 클래스는 public function/members/syntax과 완전히 같습니다.
구체 예 :
XNA GraphicsDevice.DrawUserPrimitives
함수 IVertexType
'(S)의 어레이에 대해 요청한다.
때때로 List.ToArray()를 호출하여 함수 전체가 System.Array 유형 입력을 원하기 때문에 전체 복사본을 만들어야하는 경우가 종종 있습니다. 목록은 배열과 동일한 구문 및 기능을가집니다. 함수가 입력 클래스를 받아들이면 어떤 문제도 발생하지 않습니다.
여기 마법의 요정 먼지가 있습니다. 이를 코드에 뿌리면 원하는 것을 성취 할 수있는 유일한 방법입니다. :) – jalf
'List'와'Array'는 다른 (그러나 유사한) 문법과 기능을 가지고 있습니다. 'DrawUserPrimitives' 내에서 배열의 내부 사용은 블럭 사본, 고정 된 배열 길이 등을 이용할 수 있습니다. 당신이'List.ToArray' 호출을 피하고자한다면 당신은 당신 자신의 디자인을 변경해야합니다. –
@ChrisSinclair 잘 함수는 배열을 취하므로 꼭지점을 배열로 저장해야합니다. 데이터가 휘발성이어서 목록으로 저장 했으므로 어떻게해야합니까? – Griffin