Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- callbyvalue
- 델리게이트
- Quaternion
- 깃허브
- 로케트
- 게임
- Unity
- 짐벌락
- 리듬게임
- callbyreference
- ar
- AR게임
- 유니티
- AR Foundation
- AR세팅
- 레이캐스트
- 게임개발
- 리듬게임에디터
- 게임제작
- 인터페이스
- github
- ExtensionMethod
- 병맛게임
- Euler
- 확장메서드
- ARProgect
- C#
- 소규모프로젝트
- 1인개발
- raycast
Archives
- Today
- Total
Ssssong += Dev
[유니티, C#] 일반화(Generic) 본문
확장메소드에 이어서 확장메소드를 제네릭하여 사용할 수 있다.
where T 로 T 범위를 지정해야 한다. 그렇지 않으면 T의 성격이 모호하여 사용할 수 없기 때문이다.
public static T DeepCopy<T>(this T value) where T : class, new()
{
T clone = new T();
return clone;
}
public static void Test<T>(this T value) where T : Component
{
Debug.Log("TEST");
}
싱글턴 패턴도 제네릭할 수 있다.
public class Singleton<T> : MonoBehaviour where T : Singleton<T>
{
public static T instance = null;
private void Awake()
{
if(instance == null)
{
instance = (T)this;
}
else
{
Destroy(gameObject);
}
}
}
이런식으로 일반화 해 두면 싱글턴 패턴을 간단히 상속할 수 있다.
public class GameManager : Singleton<GameManager>
{
private void Start()
{
...
}
}
제네릭 논제네릭 차이에 대해
https://hongjuzzang.github.io/java/java_generic/
[java] Generic 알아보기
generic, 제너릭이란?
hongjuzzang.github.io
'개발 > 공부' 카테고리의 다른 글
[유니티] 실행 함수 순서 정하기 (0) | 2022.06.18 |
---|---|
[C#] 델리게이트(delegate) (0) | 2022.06.17 |
[유니티, C#] 확장메서드 (0) | 2022.06.15 |
[유니티] 충돌 검사 짤팁 (0) | 2022.06.14 |
[유니티, C#] foreach, 콜렉션 (0) | 2022.06.14 |