2015. 5. 29. 11:01

public class MainClass

{

}


//MiddleClass<T>는 MainClass를 상속받으며 Generic T의 형식은 MiddleClass<T>로 한정한다.

public class MiddleClass<T> : MainClass where T : MiddleClass<T>

{

}


public class LowClass : MiddleClass<LowClass>

{


where T는 T의 형식을 제한할때 사용함


https://msdn.microsoft.com/ko-kr/library/bb384067.aspx

'C#/Unity' 카테고리의 다른 글

c# 의 new키워드에 대해  (0) 2015.06.22
Action, Func 콜백 예시  (0) 2015.06.12
GetComponentsInChildren overload  (0) 2015.05.28
delegate, callback  (0) 2015.05.08
arraylist list 차이  (0) 2015.05.06
Posted by 반얀
2015. 5. 28. 16:30

다 써본건 아니고


T[] tests = GetComponentsInChildren<T>();


이면 enable된거만 배열에 등록되고


T[] tests = GetComponentsInChildren<T>( true);


이면 include inactive라고 인텔리센스에 나오는데 말 그대로 enabled건 disabled건 다 배열에 때려넣는다.


T[] tests = GetComponentsInChildren<T>(false);


이건 맨 기본형과 기능이 같으니까 의미없는듯


2개 더있는데 써보진않았다

'C#/Unity' 카테고리의 다른 글

Action, Func 콜백 예시  (0) 2015.06.12
c# where  (0) 2015.05.29
delegate, callback  (0) 2015.05.08
arraylist list 차이  (0) 2015.05.06
Unity 원하는 객체(클래스)를 인스펙터창에서 만질수 있도록  (0) 2015.04.20
Posted by 반얀
2015. 5. 8. 10:44

delegate의 callback사용 예

 

class Test : MonoBehaviour
{
    delegate T MyDelegate<T>(T a, T b);

    public int Plus(int a, int b) { return a + b; }
    public float Plus(float a, float b) { return a + b; }

    void Show<T>(T a, T b, MyDelegate<T> dele)
    {
        print(dele(a,b));
    }

    void Start()
    {
        MyDelegate<int> Plus_int = new MyDelegate<int>(Plus);
        MyDelegate<float> Plus_float = new MyDelegate<float>(Plus);

        Show(11, 11, Plus_int); //묵시적
        Show<int>(11, 11, Plus_int); //명시적
        Show(11.6f, 11.3f, Plus_float); //묵시적
        Show<float>(11.0f, 11.0f, Plus_float); //명시적
    }
}

 

Unity에서 작성한거라 모노상속되어있음

 

http://mrw0119.tistory.com/19

 

'C#/Unity' 카테고리의 다른 글

c# where  (0) 2015.05.29
GetComponentsInChildren overload  (0) 2015.05.28
arraylist list 차이  (0) 2015.05.06
Unity 원하는 객체(클래스)를 인스펙터창에서 만질수 있도록  (0) 2015.04.20
unity ugui sprite packer  (1) 2015.04.15
Posted by 반얀
2015. 5. 6. 16:30

 

       c#                    c++

일단 List<>          == Vector<> 인듯

       LinkedList<> == List<>

 

아래 나와있는것처럼 ArrayList의 경우는 type제약 없이 받는대신 박싱/언박싱이 일어나 성능상 다운이 일어날 수 있지만

List<>의 경우는 type을 지정가능하니 가능하면 List를 사용하는 방향으로 나가야 할 듯.

 

http://www.hoons.net/Board/qacshap/Content/58016

arraylist 는 아이템타입이 object형입니다. 레퍼런스타입을 넣을때는 상관없지만 value타입을 넣는다면 box과 unbox이 일어나서 퍼포먼스가 좋지 않죠
그대신 List<T>는 type을 지정할수 있어서 box과 unbox이 일어나지 않아서 arraylist보다 퍼포먼스가 좋구요
사용자
xenon            [2013-03-27]
Level 54
 [EXP.48/250]
Lookvv 님이 설명하신부분에 추가하자면,
ArrayList는 타입을 지정하지 않기 때문에, 한개의 컬렉션에서 다양한 타입의 개체들을 담을때에는 상관 없지만, 대부분 한개의 컬렉션에서 한개의 타입들의 컬렉션을 유지한 상황에서는 컬렉션 값을 가져올때, 일일이 typecasting을 해줘야 하는 번거로움과, 캐스팅 한 개체가 넣을때 썼던 개체가 다를때에 컴파일 타임에서 오류를 발견할 수가 없습니다.

웬만하면, List<T>를 사용하시길 추천드립니다.

 

 

 

http://blog.powerumc.kr/21 c# 제너릭

 

 

http://kmj1107.tistory.com/entry/ASPNET-%EB%8B%B7%EB%84%B7-%EA%B8%B0%EC%88%A0-%EB%AC%B8%EC%A0%9C-Part1-C-%EC%96%B8%EC%96%B4-%EB%B6%80%EB%B6%84

'C#/Unity' 카테고리의 다른 글

GetComponentsInChildren overload  (0) 2015.05.28
delegate, callback  (0) 2015.05.08
Unity 원하는 객체(클래스)를 인스펙터창에서 만질수 있도록  (0) 2015.04.20
unity ugui sprite packer  (1) 2015.04.15
c# struct  (0) 2015.04.05
Posted by 반얀
2015. 4. 20. 00:10

public class Inventory() : MonoBehaviour

{

public Item[] items;

}

이렇게 해놓고 저 Items를 인스펙터에서 바로 건드릴수 있게 하려면


public class Item() : MonoBehaviour

{

public int itemID;

}

요 클래스를 

[System.Serializable]

public class Item()

{

public int itemID;

}

와 같이 바꿔주면된다


왜 모노상속을 하면안되는지는 더 알아봐야지

'C#/Unity' 카테고리의 다른 글

delegate, callback  (0) 2015.05.08
arraylist list 차이  (0) 2015.05.06
unity ugui sprite packer  (1) 2015.04.15
c# struct  (0) 2015.04.05
ref out 차이  (0) 2015.02.25
Posted by 반얀