https://gist.github.com/naratteu/ea3a8b6bfc6728162d431cba0e11b500
MySizeOf.ipynbGitHub Gist: instantly share code, notes, and snippets.gist.github.com암생각없이 SizeOf 하고싶은데, Enum이나 Generic Struct인경우 등 런타임에서 에러를 뿜는경우가 많아 유용하게 쓰지 못하는 함수이다.
기존에는 아예 무식하고 간단하게 MemoryMarshal.AsByte를 가지고 변환된 바이트갯수를 세고있었는데,
구조체 사이즈가 크면 클수록 연산량과 메모리사용이 정비례할것이기 때문에 조금이라도 더 처리과정을 닷넷도구에 떠넘기고 싶었다.
그냥 캐싱하면 아무렴 상관없었나?
아, AsByte도 결국 제네릭파라미터를 써야하기때문에, Type만가지고 런타임에서 다이나믹하게 쓸수는 없는 문제까지 해결할수있다.
Unsafe.SizeOf<T>()
오 다되다못해 class는 주소크기로 주네
근데 또 Type값을 쓰려면 리플렉션이 드가야하는군
gist에 추가함!