2011-08-19 3 views
0

두 개의 다른 속성과 따라서 두 개의 값이 있습니다. 이러한 속성은 읽기 및 쓰기 속성입니다. 하나의 메서드가 있고이 두 메서드에 두 속성 값을 전달해야합니다. 어떻게해야합니까? 이 작업을 수행하는 유일한 방법은 Array를 사용하고 있습니까? 나는 단지 방법을 사용하여 매우 쉽게이 두 수를 전달할 수 알고두 개의 다른 속성 값을 메서드에 전달

//Property 1 
public int numberone 
{ 
get { return passnumberone; } 
set { passnumberone = Add(value);} 
} 
//Property 2 
public int numbertwo 
{ 
get { return passnumbertwo; } 
set { passnumbertwo = Add(value);} 
} 
//Method 
private int Add(?) 
{ 
int numberone 
int numbertwo 
int finalanswer 
finalanswer = numberone + numbertwo 
return finalanswer; 
} 
//Calling 
Calculator.numberone = 10; 
Calculator.numbertwo = 12; 

: 계산기의 예에서

: 여기 은 예입니다. 그러나 나는 묘사를 사용하려고합니다.

미리 감사드립니다. 또한,

int answer = this.Add(numberone, numbertwo); 

그러나 솔직히 말해서 첫 번째 질문은 두 번째 모순 :

private int Add(int numberone, int numbertwo) 
{ 
    int finalanswer 
    finalanswer = numberone + numbertwo 
    return finalanswer; 
} 

그런 다음 당신이 이런 식으로 부를 것이다 :

+1

귀하의 질문은 * 매우 * 불분명합니다. 왜 setter는 메소드를 호출합니까? 무엇을 성취하려고합니까? http://tinyurl.com/so-hints –

+0

을 읽으십시오. 사과하겠습니다. 나는 더 분명해야합니다. 저는 C# 프로그래밍의 초보자이며 캡슐화의 개념을 이해하려고합니다. 메서드에 두 개의 매개 변수를 전달하려면 Calculator 예제를 사용하고 있습니다. – Shazam

+0

두 클래스가 있습니다. 첫 번째 클래스는 두 번째 클래스를 객체로 호출합니다. 두 번째 속성에는 두 가지 속성과 메서드가 있습니다. 두 개의 숫자를 추가하는 특별한 예를 처리하는 더 쉬운 방법이 있다는 것을 알고 있습니다. 하지만 두 명의 매개 변수를 메서드에 전달하는 방법을 이해하려고합니다. – Shazam

답변

0

당신은 객체가 추가 메서드가 포함 된 것과 동일하지 않은 경우 메소드의 특성이 들어있는 개체를 전달해야합니다 호출 할 수 있습니다.

class CalculatorInputs 
{ 
    public int numberone; 
    public int numbertwo; 
} 

class CalculatorOperations 
{ 
    public int Add(CalculatorInputs input) 
    { 
    return input.numberone + input.numbertwo; 
    } 

} 
0

당신은 매개 변수로 방법 모두에 값을 전달할 수 있습니다 당신이 전화를 걸 때마다 전화를해서는 안되며, 나에게 혼란스럽고 아마도 더 좋은 방법이있을 것입니다. 그러나 나는 당신이 성취하려고하는 것을 확신합니다.

0

메서드를 호출하기 전에 속성을 설정하기 때문에 메서드에 아무 것도 전달하지 않아도됩니다.

private int Add() 
{ 
    int finalanswer; 
    finalanswer = this.numberone + this.numbertwo 
    return finalanswer; 
} 

당신은

Calculator c = new Calculator(); 
c.numberOne = 10; 
c.numberTwo = 12; 
int sum = c.Add(); 
0

나는 당신이 여기 개까지하지만 어떤 경우에 당신이 실제로 당신에게 추가 가치를 제공하는 세 번째 속성을 필요로 할 것입니다 무슨 확실하지 않다; 이것은 당신이 다음 확장 귀하의 질문에 더 많은 세부 정보를 추가하시기 바랍니다 원하지 않으면

그래서 모든

public int AddedNumber 
{ 
get { return passnumberone + passnumbertwo ; } 
} 

에서 Add 메서드를 호출해야합니다.

관련 문제