2016-11-19 5 views
0

Название звучит очень сложно. Я улучшаюсь с C#, но мне определенно нужна помощь здесь. Я даже не уверен, что то, что я хочу сделать, возможно в том, как я пытаюсь это сделать.Пытается определить значение целого, передавая его в качестве параметра в методе-экземпляре (whew)

Я инстанс метод из класса А к классу В, но теперь я пытаюсь использовать этот метод, чтобы определить значение в междунар, который инициализируется в классе B.

КЛАСС

class RandomGenerator 
{ 
    public void GetRandomNum(int placeholder) 
    { 
     Random random1 = new Random(); 
     placeholder = random1.Next(123456789, 500000000); 

    } 


} 

CLASS B

public partial class NewEntryPage : Page 
{ 
    public NewEntryPage() 
    { 
     InitializeComponent(); 

    } 

    private void finbutton(object sender, RoutedEventArgs e) 
    { 


     int ParseID; 
     int ParseAge; 
     int AcctNo; 
     int CheckNo; 

     RandomGenerator instance1 = new RandomGenerator(); 
     instance1.GetRandomNum(AcctNo); <--- **//this is what I can't figure out** 

Я надеюсь, что этот вопрос имеет смысл. Спасибо!

+0

вы можете передать типы значений по ссылке https://msdn.microsoft.com/en-us/library/14akc2c7.aspx – Slai

ответ

2

Вы должны иметь GetRandomNum вернуть значение вместо того, чтобы он прошел в.

public int GetRandomNum() 
{ 
    Random random1 = new Random(); 
    int placeholder = random1.Next(123456789, 500000000); 
    return placeholder; 
} 

Вы можете использовать это значение в вашей функции.

RandomGenerator instance1 = new RandomGenerator(); 
    AcctNo = instance1.GetRandomNum(); 
+0

Ааа. Так что действительно не было способа сделать то, что я пытался сделать. Это имеет гораздо больший смысл. – helpkelp

+0

@helpkelp Фактически, есть способ сделать это, используя ['out' parameters] (https://msdn.microsoft.com/en-us/library/t3c3bfhx.aspx), но это приведет к ненужной сложности для чего-то, что гораздо проще ответить на оператор return. Так что технически это не отвечает на вопрос, но это абсолютно правильный ответ. – spender

+0

Спасибо Spender. Я согласен, что это сделает его более сложным. Я изучал «ref» и «out» и попытался применить его здесь также, но не имел успеха. Если у вас есть время, я бы с удовольствием посмотрел, как вы можете применить его здесь. Это не много, но я дам вам преимущество и свою оценку: P! – helpkelp