개발/C# 27

유니티 3D 간보기 - 골드메탈 3D강좌:이펙트/아이템 생성

아래 강좌 계속. https://youtu.be/u2DLOay5oO8 - Light 추가 - Particle 추가 ->Renderer-> 기본 Material 추가 'Default-Line' - Emission, 파티클이 불출되는 양 - Shape, 불출되는 모양/각도 설정 - Color Over LifeTime, 불출되는 파티클 색상 - Size over lifetime, 파티클 크기 변화 - Limit Velocity over Lifetime, 파티클 높이제한 - Start Lifetime, Start Speed, 파티클 생존 시간, 스피드 우측 화살표 옵션을 통해 다양하게 설정 가능, Random Between Two Constants로 랜덤한 생성시간 설정가능 요런 효과 완성 아이템마다 Rigid..

개발/C# 2022.02.05

.Net Framework Guideline - Type Design(형식 디자인)-2

인터페이스(Interface) 디자인 대부분 API는 클래스 및 구조체를 사용하여 모델링 하는 것이 좋지만, 인터페이스가 적합한 경우가 있다. CLR은 다중 상속을 지원하지 않지만, 인터페이스를 사용하면 다중 상속의 효과를 얻을 수 있다. - 멤버가 없는 인터페이스인 마커 인터페이스(marker Interfaces)는 사용하지 않는다. *마커 인터페이스 : https://www.csharpstudy.com/Story/Article/7 만약 클래스에 특정 특성을 표시해야 하는 경우(Marker), 마커 인터페이스가 아닌 attribute를 이용해야 한다. - 값 형식을 포함하는 형식에서 몇 가지 공용 API를 지원해야한다면 인터페이스를 정의한다. - 다른 타입을 이미 상속받은 형식에서 기능을 지원해야할 경..

개발/C# 2021.08.30

.Net Framework Guideline - Type Design(형식 디자인)-1

형식 디자인 (Type Design) 지침 클래스(Classes) : 참조 형식의 일반적인 경우. 대다수 프레임워크에서 사용하는 형식 인터페이스(Interfaces) : 참조 형식과 값 형식 둘 다 구현. 다중 상속을 시뮬레이션 할 수 있다. 구조체(Structs) : 값 형식의 일반적인 경우, 단순 타입으로 사용 열거형(enums) : 값 형식. 요일, 색상 등 간단한 값 세트를 정의하는데 사용 정적 클래스(Static classes) : static member(정적 멤버)의 컨테이너로 사용되는 형식. 대리자(Delegates), 예외(Exceptions), 속성(Attributes), 배열(Array) : 모두 특정 용도로 사용되는 참조 형식, 각 형식은 관련된 멤버가 세트가 잘 이룰 수 있도록 구..

개발/C# 2021.08.30

.Net Framework Guideline - Member Design-3

매개 변수 디자인 - 멤버에 필요한 기능을 제공하는 최소 파생 매개 변수(least derived parameter) 형식을 사용한다. 예를 들어 컬렉션을 열거하고 각 항목을 출력하기 위한 메서드에서는 ArrayList나 IList가 아닌 IEnumerable을 매개 변수로 사용한다. - 예약된 매개 변수를 사용하지 않는다. 나중에 새로운 멤버에 대한 추가가 필요한 경우 새 오버로드를 추가한다. - 포인터, 포인터 배열 또는 다차원 배열을 매개 변수로 사용하는 public method는 사용하지 않는다. 포인터 및 다차원 배열을 제대로 사용이 어려워 대부분 API에서 이러한 형식을 매개 변수로 사용하지 않도록 디자인한다. - 오버로드 함수 간에 매개 변수 순서가 일치하지 않게 되더라도, by-value ..

개발/C# 2021.08.30

.Net Framework Guideline - Member Design -2

필드 디자인 캡슐화는 객체 지향 디자인에서 가장 중요한 개념이다. 이 원칙에 따르면 객체 내에 저장된 데이터에는 해당 객체에서만 접근할 수 있어야 한다. 이 해석은 모든 필드가 프라이빗이야 함을 의미한다. 상수 및 정적 읽기 전용 필드(static read-only fieled)와 같은 필드는 정의에 따라 변경할 필요가 없기 때문에 이 제한에서 제외한다. - public/protected 인스턴스 필드를 제공하지 않는다. 대신 필드에 접근하기 위한 속성(Property)을 제공해야 한다. - 변경되지 않는 상수에는 상수 필드를 사용한다. 컴파일러는 'const'필드의 값을 호출 코드에 직접 포함한다. 따라서 호환성을 손상하지 않고 const 값을 변경할 수 없다. - 미리 정의된 객체 인스턴스에 publ..

개발/C# 2021.08.30

.Net Framework Guideline - Member Design -1

멤버 오버로드 멤버 오버로드(Member Overload)는 매개 변수의 개수나 형식만 다르고 이름은 같은 멤버를 둘 이상 만드는 것을 의미한다. 다음과 같이 WriteLine은 오버로드 되어있다. public static class Console { public void WriteLine(); public void WriteLine(string value); public void WriteLine(bool value); ... } 매개 변수를 가질 수 있는 메서드, 생성자 인덱싱된 속성맞 오버로드할 수 있다. 오버로드는 재사용 가능한 라이브러리의 유용성(usability), 생산성(productivity), 가독성(readability)을 개선할 수 있는 기법으로, 매개 변수 개수를 오버로드하여 더 간..

개발/C# 2021.08.30

.Net Framework Guideline - Naming Rule(.net 프레임워크 디자인 지침 - 명명 지침) 정리

대/소문자 표기법 식별자용 대/소문자 규칙 식별자 내 단어를 구분하기 위해서 식별자 각 단어의 첫 글자는 대문자를 사용, 밑줄을 사용하여 단어를 구분하지 않는다. - PascalCasing : 파스칼 표기법 - camelCasing : 카멜 표기법 1) 매개 변수 이름을 제외한 모든 식별자에 사용하는 파스칼 표기법은 아래와 같이 각 단어의 첫 번째 글자를 대문자로 표기 - PropertyDescriptor, HtmlTag 아래와 같이 두 글자 머리글자어(two-letter acronyms)를 모두 대문자로 표기하기도 함. - IOStream 2) 매개 변수 이름에만 사용하는 카멜 표기법은 아래 예제와 같이 첫 단어를 제외한 각 단어의 첫 번째 글자를 대문자로 표기, 두 글자 머리글자어(two-letter..

개발/C# 2021.08.25

C# 기초 - 이벤트와 델리게이트 (Event & Delegate)

Delegates(델리게이트) - Delegate는 대리자라고도 하며, 메서드에 대한 참조를 갖는 형식이다. - 함수포인터나 콜백과 동일한 동작으로 delegate를 호출하면 참조하고 있는 메서드가 호출된다. - 참조하는 함수의 반환 형식 및 매개변수를 사용하여 선언한다. * 선언한 함수 형식이 일치하는 메서드에 대해서만 참조할 수 있다. 아래와 같은 형식으로 선언하여 사용 public delegate [반환형식] [이름] (매개변수) [예제] public delegate void ThresholdReachedEventHandler(object sender, ThresholdReachedEventArgs e); -> 반환형이 void, 매개변수는 object, ThresholdReachesEventArg..

개발/C# 2021.08.24
반응형