반응형
구글에 검색은 아래와 같이 하였다.
c# access class property by name
그 중 첫번째 결과에 들어갔고,
https://stackoverflow.com/questions/10283206/setting-getting-the-class-properties-by-string-name
아래왜 같은 결과를 얻을 수 있었다.
public class MyClass
{
public object this[string propertyName]
{
get
{
// probably faster without reflection:
// like: return Properties.Settings.Default.PropertyValues[propertyName]
// instead of the following
Type myType = typeof(MyClass);
PropertyInfo myPropInfo = myType.GetProperty(propertyName);
return myPropInfo.GetValue(this, null);
}
set
{
Type myType = typeof(MyClass);
PropertyInfo myPropInfo = myType.GetProperty(propertyName);
myPropInfo.SetValue(this, value, null);
}
}
}
위와 같이 MyClass 라는 클래스가 있고, 그 안에 위와 같은 코드를 작성하면,
MyClass["변수"] 와 같이 접근할 수 있다.
'C#' 카테고리의 다른 글
[C#] 디자인 패턴 in C#: Singleton, Factory, and Observer Patterns (싱글톤, 팩토리, 옵저버 패턴) (0) | 2023.02.12 |
---|---|
[C#, Unity] 캐릭터 움직임 (0) | 2023.02.05 |
[C#] Cannot deconstruct dynamic object 해결하기 (0) | 2022.07.26 |
[C#] 테스트 케이스 첫 작성 (0) | 2022.06.15 |
[C#] 상대 경로가 같은 여러 게시 출력 파일을 찾았습니다 (1) | 2022.03.18 |
댓글