Readonly는 한번 값을 할당하면 바꿀 수 없게 만들어준다.
하지만 List<T>의 경우는 리스트 그 자체를 바꿀 순 없지만,
들어있는 값을 Add, Remove 하는 것은 가능하다.
따라서 프로퍼티처럼 사용되는 것이
ReadOnlyCollection<T> 이다.
할당할 때에는
ReadOnlyCollection = 원본.AsReadOnly(); 와 같은 형태로 넣어준다.
using System.Collections.ObjectModel;
public class CharacterStat
{
private readonly List<StatModifier> statModifers;
public readonly ReadOnlyCollection<StatModifier> StatModifers;
public CharacterStat(float baseValue)
{
StatModifers = statModifers.AsReadOnly();
}
}
'🌍 C# Study > C# 케이스 스터디' 카테고리의 다른 글
C# params 키워드 : 가변 개수의 인수 (0) | 2019.12.13 |
---|---|
Construct (생성자) 오버로딩 (0) | 2019.12.12 |
for 문에서 AddListener 람다식은 주의해야한다. (AddListener for loop) 클로저 Closure problem (5) | 2019.12.12 |
List<T> Sort (0) | 2019.12.10 |
확장 메서드 (0) | 2019.10.02 |