을 제공하여 재산을 얻으려는 데 도움이 될 수 있기를 바랍니다. 다음 클래스 hierachy가 주어진다 :이 특정 질문에 대해 몇 시간 동안 찾고있는 문자열 이름
public class Toon
{
public Skillset skillset;
public Toon()
{
skillset = new Skillset();
}
}
public class Skillset
{
public Skill Fight;
public Skill Trade;
public Skill Talk;
public Skillset()
{
Fight = new Skill() { name = "Fight", value = 10 };
Trade = new Skill() { name = "Trade", value = 12 };
Talk = new Skill() { name = "Talk", value = 15 };
}
}
public class Skill
{
public string Name;
public int Value;
public int Rank
}
이 Toon.Skillset.Fight 등의 구문을 제공하는 것입니다
이제질문 : 나는 그들이 경우 무작위로, 기술을 향상 할 수 있도록하려면 목록 인 즐겨 찾기 목록에 있습니다. 그래서 basicly
:
public void setSkill(string skillname, Toon toon, int value)
{
=> get property and set it to value
}
그래서
setSkill는 ("싸움", NewToon, 30); Toon을 설정합니다 .Killset.30으로 경기하십시오.
나는 분명히 설명 할 수 있으면 좋겠다. 나는 어떤 입력에 대해서도 감사하고 싶다. 이 문제를 멋지게 해결하기 위해 Reflection을 들었지만 아직 답변을 찾지 못했습니다.
추 신 : Toon에서 List를 얻는 것이 도움이되지 않습니다. 구문을 파괴합니다.
사실, 속성에는 클래스가 아니라 필드가 있습니다. – LarsTech
인덱서 만 사용할 수 있습니다. 공공 스킬이 [캐릭터 이름] { 의 get { 스위치 (이름) { 경우 "싸움" 반환 싸움; 경우 "무역": 반품 무역; 사례 "토론": return 토론; 기본값 : return null; } } } –
사실, 아직 최종 모델에는 약 30 개의 필드가 있으므로 그럴 것 같지 않습니다. 제공되는 몇 가지 필드가 있더라도 당연합니다. – Ceron