2017-09-28 1 views
0

나는 스스로에게 물었다. 함수 매개 변수에서 클래스의 속성을 만들려면 어떻게해야합니까? 제 생각을 설명하기 위해 의사 코드 예제를 작성했습니다.클래스의 속성을 param으로 만드는 방법은 무엇입니까?

private void UpdateCurrentGraphicSettingValue(Dropdown pDropdown, ??? pThing) 
{ 
    if(pDropdown.value == 0) 
    { 
     CurrentGraphicsSetting.pThing = LowGraphicsSetting.pThing 
    } 
} 

제안 사항이 있으면 매우 유용 할 것입니다.

+0

당신이 조금 더 명확하시기 바랍니다 될 수 있을까? – Neo

+1

'generic' 또는'dynamic' 타입을 사용할 수 있습니다. – George

+0

예 ... 이해가갑니다! 대단히 감사합니다 –

답변

3

대신 다음과 같이 제안 할 수 있습니까?

이해할 수없는 부분이 있으면 설명하겠습니다. 당신의 도움으로

public class test : MonoBehaviour { 

    public GraphicSettings CurrentGraphicsSetting; 
    public GraphicSettings LowGraphicsSetting = new GraphicSettings() { pThing1 = 23, pThing2 = "test23" }; 
    public GraphicSettings HighGraphicsSetting = new GraphicSettings() { pThing1 = 2300, pThing2 = "test23sd" }; 

    public class GraphicSettings 
    { 
     public int pThing1 = 0; 
     public string pThing2 = "test"; 
    } 

    private void UpdateCurrentGraphicSettingValue(Dropdown pDropdown) 
    { 
     if (pDropdown.value == 0) 
     { 
      CurrentGraphicsSetting = LowGraphicsSetting; 
     } 
     else 
     { 
      CurrentGraphicsSetting = HighGraphicsSetting; 
     } 

     ApplyGraphicSettings(); 
    } 

    private void ApplyGraphicSettings() 
    { 
     SomeSetting = CurrentGraphicsSetting.pThing1; 
     SomeOtherSetting = CurrentGraphicsSetting.pThing2; 
    } 
} 
+0

아마도 작동 할 수 있습니다. 감사 –

0

내가 마지막으로 그냥 같이 ... 내 문제를 해결 :

private void UpdateCurrentGraphicSettingValue(Dropdown pDropdown, ref int p1, ref int p2) 
{ 
    if(pDropdown.value == 0) 
    { 
     p1 = p2; 
    } 

UpdateCurrentGraphicSettingValue(myDropdown, ref CurrentGraphic.pixelLightCount, ref LowGraphic.pixelLightCount) 
관련 문제