2012-04-21 4 views
0

는 여기에 내가메서드 내에서 목록을 사용하려면 어떻게해야합니까?

public int GetSizePrices(int num) 
{ 
    this.MenuList ???  
} 

가 어떻게 GetSizePrices 방법 내부의 맛 객체를 사용할 수있는 새로운 방법을 넣어, 그 지금하는 방법

public void MenuList() 
{ 
    List<string> flavors = new List<string>(); 
    flavors.Add("Angus Steakhouse"); 
    flavors.Add("Belly Buster"); 
    flavors.Add("Pizza Bianca"); 
} 

안에> 목록 <입니까? 감사합니다. .

+0

'GetSizePrices()'메소드가 flavors 객체에 대해 원하는 것은 무엇입니까? –

+0

그냥 GetSizePrices() 메소드 안에서 읽고 사용하십시오. 나는 첫번째 대답이 내가 찾고있는 것이라고 생각한다. – Ryan

+0

더 중요한 질문은 향기가 변해야한다는 것입니다. 또는 MenuList() 메서드는 해당 목록을 만들어 다른 모든 메서드에 전달할 책임이 있습니까? 가장 구체적으로 질문을 업데이트하여 자신이 실제로 시도한 것을 보여줄 수 있습니까? –

답변

0

나는 당신이?

public Class SomeClass 
{ 
    public IEnumerable<string> MenuList() 
    { 
    List<string> flavors = new List<string>(); 
    flavors.Add("Angus Steakhouse"); 
    flavors.Add("Belly Buster"); 
    flavors.Add("Pizza Bianca"); 
    return flavors; 
    } 

    public int GetSizePrices(int num) 
    { 
    // No idea what to do with num 
    return this.MenuList().Count(); 
    } 
} 
+0

-1 OP는 C#의 새로운 기능이며, 동일한 클래스의 다른 메서드에서 액세스 할 수있는 필드 (또는 속성)에 'flavors'를 넣는 방법을 설명하지 않습니다. –

+0

나는 그것이 어떻게하는지 설명하지 않는다는 당신의 주장에 동의한다. 그러나 나는 OP 질문이 모호하다는 것을 주장 할 것이다. 그리고이 대답은 일반 레벨에서 flavors 객체에 접근한다. –

0

같은 것을 위해 이것을 달성하기가 분명히 많은 다른 방법을 찾고있는 당신의 디자인 요구 사항에 따라 할 것이라 생각합니다.

이제는 C#을 처음 사용한다고 가정하고 여행을 시작할 때이 두 가지 간단한 방법을 고려해 볼 수 있습니다. 가능한 한 기존 코드에 친숙 해지려면 관용적 인 C#을 사용하지 마십시오.


옵션 1 - 매개 변수로 전달합니다 :

public List<string> BuildMenuList() 
{ 
    List<string> flavors = new List<string>(); 
    flavors.Add("Angus Steakhouse"); 
    flavors.Add("Belly Buster"); 
    flavors.Add("Pizza Bianca"); 

    return flavors; 
} 

public int GetSizePrices(int num, List<string> menuList) 
{ 
    // access to menuList 
    var cnt = menuList.Count(); 
} 


옵션 2-

public class Menu 
{ 
    // A public property that is accessible in this class and from the outside 
    public List<string> MenuList { get; set;} 

    public Menu() 
    { 
     // Populate the property in the constructor of the class 
     MenuList = new List<string>(); 
     MenuList.Add("Angus Steakhouse"); 
     MenuList.Add("Belly Buster"); 
     MenuList.Add("Pizza Bianca"); 
    } 

    public int GetSizePrices(int num) 
    { 
     // your implementation details here... 
     return MenuList.Count(); 
    } 
} 

는 희망이 도움이 속성으로이를 사용할 수 있도록합니다.

관련 문제