тупо?
От: Liss1  
Дата: 04.03.03 09:05
Оценка:
Как тупо обратиться в С# к члену существующего экземпляра класса
namespace aa{
   class A{
      public int Val;
             .....
   }
   class B{
    .......
    void SETVAL(int newVAL){
        A oA = new A();
        oA.Val = 5
    }
        
   }
   class C{
     ??
   }
}

каким образом можно в классе С получить текущее значение переменной Val или лучше указатель на нее??




04.03.03 12:10: Перенесено модератором из 'ASP.NET' — TK
Re: тупо?
От: TK Лес кывт.рф
Дата: 04.03.03 09:10
Оценка:
Здравствуйте, Liss1, Вы писали:

L>Как тупо обратиться в С# к члену существующего экземпляра класса

L>
L>namespace aa{
L>   class A{
L>      public int Val;
L>             .....
L>   }
L>   class B{
L>    .......
L>    void SETVAL(int newVAL){
L>        A oA = new A();
L>        oA.Val = 5
L>    }
L>        
L>   }
L>   class C{
L>     ??
L>   }
L>}
L>

L>каким образом можно в классе С получить текущее значение переменной Val или лучше указатель на нее??

Например так:

A a = new A();
Console.WriteLine(a.Val);
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: тупо?
От: AnSa Россия  
Дата: 04.03.03 09:20
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, Liss1, Вы писали:


L>>Как тупо обратиться в С# к члену существующего экземпляра класса

L>>
L>>namespace aa{
L>>   class A{
L>>      public int Val;
L>>             .....
L>>   }
L>>   class B{
L>>    .......
L>>    void SETVAL(int newVAL){
L>>        A oA = new A();
L>>        oA.Val = 5
L>>    }
L>>        
L>>   }
L>>   class C{
L>>     ??
L>>   }
L>>}
L>>

L>>каким образом можно в классе С получить текущее значение переменной Val или лучше указатель на нее??

TK>Например так:


TK>
TK>A a = new A();
TK>Console.WriteLine(a.Val);
TK>


Или так

class C {
  private A a = new A();
  public PrintAVal() {
    Console.WriteLine("Val={0}",a.Val);
  }
}
Re[2]: тупо?
От: Liss1  
Дата: 04.03.03 09:24
Оценка:
Здравствуйте, TK, Вы писали:

TK>
TK>A a = new A();
TK>Console.WriteLine(a.Val);
TK>


Так создастся новый экземпляр класса А
А как получить указатель на уже существующий экземпляр который был создан в классе B?? а из него уже взять значение переменной??
Re[3]: тупо?
От: Phazz Россия  
Дата: 04.03.03 09:42
Оценка:
Здравствуйте, Liss1, Вы писали:

L>А как получить указатель на уже существующий экземпляр который был создан в классе B?? а из него уже взять значение переменной??


может быть это то что надо.

class A
{
 private static A _instance = null;
 public static A Instance
 {
  get
  {
   if(_instance == null)
   {
    _instance = new A();
   }
   return _instance;
  }
 }

 private A() {}

 public int Val;
}
... << RSDN@Home 1.0 beta 5 12:44 слушаю null>>
Re[4]: тупо?
От: sulik Россия http://nickpasko.blogspot.com
Дата: 04.03.03 09:59
Оценка:
Здравствуйте, Phazz, Вы писали:

P>
P>class A
P>{
P> private static A _instance = null;
P> public static A Instance
P> {
P>  get
P>  {
P>   if(_instance == null)
P>   {
P>    _instance = new A();
P>   }
P>   return _instance;
P>  }
P> }

P> private A() {}

P> public int Val;
P>}
P>


Соответственно обращаться так:
class C
{
  public void WriteAValue()
  {
     Console.WriteLine(A.Instance.Val);
  }
}


Хотя это — почти то же самое, как объявлять саму переменную Val статической, но более замучено. Будет "как бы" статическая переменная, хотя на самом деле она доступна только через конкретный объект класса.
В общем, сомневаюсь, что это то, что тебе нужно.

Если же тебе нужно получить переменную КОНКРЕТНОГО объекта класса, то без указателя на этот объект ты никак не обойдешься.
Сознание определяет бытие!
Re[5]: тупо?
От: Liss1  
Дата: 04.03.03 10:07
Оценка:
Здравствуйте, sulik, Вы писали:


S>Хотя это — почти то же самое, как объявлять саму переменную Val статической, но более замучено. Будет "как бы" статическая переменная, хотя на самом деле она доступна только через конкретный объект класса.

S>В общем, сомневаюсь, что это то, что тебе нужно.

S>Если же тебе нужно получить переменную КОНКРЕТНОГО объекта класса, то без указателя на этот объект ты никак не обойдешься.


Вариант Phazяa так то дал тот результат который требовался как только сам не догадался
Но как же все таки в С# получить указатель на существ. экземпляр?? и вообще это возможно??
Re[6]: тупо?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.03.03 10:14
Оценка:
Здравствуйте, Liss1, Вы писали:

L>Но как же все таки в С# получить указатель на существ. экземпляр??


На который?
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[7]: тупо?
От: Liss1  
Дата: 04.03.03 10:17
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Liss1, Вы писали:


L>>Но как же все таки в С# получить указатель на существ. экземпляр??


AVK>На который?


в классе С получить указатель на уже существующий экземпляр класса А созданный в классе В??
Re[8]: тупо?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.03.03 10:21
Оценка:
Здравствуйте, Liss1, Вы писали:

AVK>>На который?


L>в классе С получить указатель на уже существующий экземпляр класса А созданный в классе В??


На который экземпляр? Их может быть сколько угодно.
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[9]: тупо?
От: Liss1  
Дата: 04.03.03 10:26
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Liss1, Вы писали:


AVK>>>На который?


L>>в классе С получить указатель на уже существующий экземпляр класса А созданный в классе В??


AVK>На который экземпляр? Их может быть сколько угодно.


я понимаю что их может быть много (в зависимости от количества вызовов функции)но у меня они создаются в функции SETVAL
а функция SETVAL вызывается один раз в данном примере
Re[10]: тупо?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.03.03 10:39
Оценка:
Здравствуйте, Liss1, Вы писали:

L>я понимаю что их может быть много (в зависимости от количества вызовов функции)но у меня они создаются в функции SETVAL

L>а функция SETVAL вызывается один раз в данном примере

А если не один раз?
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.