c# - How to access a ref bool variable passed into the constructor? -


i have main form, calls smaller form. in main form have bool called _dataready set false, purpose of smaller form check few things , see if data ready, in case sets _dataready true.

here problem: call mini form input parameter such (ref bool _dataready) problem don't have access outside of constructor block.

i tried making private bool , set ref that, after changing state of private bool ref did not take changes, unlike how object oriented programming works.

here of code:

//this how call mini form within main

new frmaccounting(mytextbox1.text.trim().replace(",", "").toint32(),ref _dataready).showdialog(); 

this constructor of mini form , code:

public frmaccounting(decimal price,ref bool _dataready) {     initializecomponent();     dataready=_dataready; }  private bool dataready; 

however setting private bool within form (dataready) true not change ref (again unlike how objects work)... that's thought happen.

my question is: how change ref can have results directly in main?

you can't using ref since field in class can't made ref.

i suggest wrap variable class. can pass class around , use inner value.

public class wrapper<t> {     public t value {get;set;} } 

then use this:

wrapper<bool> w = new wrapper<bool>() { value = _dataready };  new frmaccounting(mytextbox1.text.trim().replace(",", "").toint32(),w).showdialog(); 

the value can retrieved afterwards using w.value.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -