Объявление векторного свойства
От: pnb  
Дата: 09.12.04 11:38
Оценка:
Добрый день.
Подскажите как объявить векторное свойство при написании класса на C#, т.е. аналог кода

property SomeValue[Index:integer] : double read GetSomeValue write SetSomeValue;


на Object Pascal
Re: Объявление векторного свойства
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 09.12.04 11:49
Оценка:
Здравствуйте, pnb, Вы писали:

pnb>Подскажите как объявить векторное свойство при написании класса на C#, т.е. аналог кода


Т.е. индексер?

public int this[int index]
{
    get
    {
        return x[index];
    }
    
    set
    {
        x[index] = value;
    }
}
... << RSDN@Home 1.1.3 stable >>
Объявление векторного свойства
От: Аноним  
Дата: 09.12.04 11:48
Оценка:
public Double this[int index]
  {
   get
   {
    //возвращем значение
   }
   set
   {
    //присваиваем значение
   }
  }
Все должно быть просто, очень просто, настолько просто — насколько это возможно.

Оренбургское сообщество .NET разработчиков


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Объявление векторного свойства
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 09.12.04 11:54
Оценка:
Здравствуйте, Михаил Можаев, Вы писали:

ММ>Т.е. индексер?


Хм. Не совсем то. Аналога в C# (и не только) нет.
... << RSDN@Home 1.1.3 stable >>
Re: Объявление векторного свойства
От: rockandroll Казахстан  
Дата: 09.12.04 11:58
Оценка: +1
Здравствуйте, pnb, Вы писали:

pnb>Добрый день.

pnb>Подскажите как объявить векторное свойство при написании класса на C#, т.е. аналог кода

pnb>
pnb>property SomeValue[Index:integer] : double read GetSomeValue write SetSomeValue;
pnb>


В C# векторных свойств как в Дельфи нет — есть индексеры
В твоем случае SomeValue надо сделать классом и определить у него индексер.

// cs_keyword_indexers.cs
using System;
class IndexerClass 
{
   private int [] myArray = new int[100]; 
   public int this [int index]   // Indexer declaration
   {
      get 
      {
         // Check the index limits.
         if (index < 0 || index >= 100)
            return 0;
         else
            return myArray[index];
      }
      set 
      {
         if (!(index < 0 || index >= 100))
            myArray[index] = value;
      }
   }
}

public class MainClass 
{
   public static void Main() 
   {
      IndexerClass b = new IndexerClass();
      // Call the indexer to initialize the elements #3 and #5.
      b[3] = 256;
      b[5] = 1024;
      for (int i=0; i<=10; i++) 
      {
         Console.WriteLine("Element #{0} = {1}", i, b[i]);
      }
   }
}
... << RSDN@Home 1.1.4 >>
Re[3]: Объявление векторного свойства
От: Andrbig  
Дата: 09.12.04 12:08
Оценка: +1
Здравствуйте, Михаил Можаев, Вы писали:

ММ>Здравствуйте, Михаил Можаев, Вы писали:


ММ>>Т.е. индексер?


ММ>Хм. Не совсем то. Аналога в C# (и не только) нет.


Есть в VB.NET.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.