Type.Is* 함수들을 활용하자

예 : Type.IsValueType 은 타입이 값 타입인지 확인할 수 있다


Type 으로부터 객체 생성하기

Activator.CreateInstance(t);


배열인 경우 Array.CreateInstance(t, n);


Type 의 배열 타입 얻기

Type.MakeArrayType()


Type 이 디폴트 생성자를 가지는지 체크하기

bool hasDefaultConstructor = type.GetConstructor(Type.EmptyTypes) != null;


switch-case Type 사용하기

switch (Type.GetTypeCode(t.GetType()))

{

case TypeCode.Boolean: ... break;

...

}


Type 이 IEnumerable<T> 인지 판단하여 T 를 얻기

if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(IEnumerable<>))

return type.GetGenericArguments().FirstOrDefault();

'C# - 이것저것' 카테고리의 다른 글

C# 으로 이메일 보내기  (0) 2016.01.23
랜덤 열거형값 얻기 - Random Enum  (0) 2016.01.17
공백으로 문자열 분리하기  (0) 2016.01.16
Posted by 카코데몬
,

foreach (var fsm in Component.FindObjectsOfType<PlayMakerFSM>())

{

if (!fsm.Fsm.Initialized)

fsm.Fsm.InitData();

foreach (var state in fsm.FsmStates)

{

foreach (var action in state.Actions)

{

// use action

}

}

}

'유니티 - PlayMaker' 카테고리의 다른 글

PlayMaker Import 참고사항  (0) 2016.01.13
Animation Event 를 PlayMaker 로 전달하기  (0) 2016.01.12
PlayMaker 요약  (0) 2016.01.11
PlayMaker 소개  (0) 2016.01.10
Posted by 카코데몬
,

using System;


public static T RandomEnum<T>()

{

Array values = Enum.GetValues(typeof(T));

return (T) values.GetValue(new Random().Next(0, values.Length));

}

'C# - 이것저것' 카테고리의 다른 글

C# 으로 이메일 보내기  (0) 2016.01.23
Type 관련 팁 몇 가지  (0) 2016.01.19
공백으로 문자열 분리하기  (0) 2016.01.16
Posted by 카코데몬
,