Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обращение к элементу типа Structure / 13 сообщений из 13, страница 1 из 1
06.09.2013, 09:47
    #38388705
TataS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
Есть тип:
Public Structure StructName
Public aaa as String
Public bbb as String
End Structure

Объявлена переменная: Dim FFF as StructName

Хочется обратится к элементу структуры так, чтобы имя элемента структуры задавалось в кавычках,
то есть вместо FFF.aaa обратиться типа FFF("aaa")

Может кто знает, как это сделать.
...
Рейтинг: 0 / 0
10.09.2013, 14:59
    #38392347
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
TataS,

c помощью Reflection
...
Рейтинг: 0 / 0
10.09.2013, 16:59
    #38392589
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
а профит в чем?
...
Рейтинг: 0 / 0
10.09.2013, 17:41
    #38392677
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
TataS,

добавить метод в StructName, который будет это делать и реализовать его. например, ч/з Reflection. зависит от того зачем и для чего это нужно.
...
Рейтинг: 0 / 0
11.09.2013, 16:54
    #38393832
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
TataS,

можно индексатор сделать.
...
Рейтинг: 0 / 0
11.09.2013, 17:13
    #38393890
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
Just for fun:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
using System;
using System.Collections.Generic;

namespace DynamicStructureApplication
{
    struct MyStructure
    {
        private readonly string a;
        private readonly string b;
        private readonly IDictionary<string, string> properties;

        public string A
        {
            get { return a; }
        }

        public string B
        {
            get { return b; }
        }

        public string this[string key]
        {
            get { return properties.ContainsKey(key) ? properties[key] : null; }
        }

        public MyStructure(string a, string b)
        {
            this.a = a;
            this.b = b;

            properties = new Dictionary<string, string> { { "A", a }, { "B", b } };
        }
    }

    class Program
    {
        static void Main()
        {
            var myStructure = new MyStructure("A value", "B value");

            Console.WriteLine(myStructure.A);
            Console.WriteLine(myStructure["B"]);
            Console.ReadKey();
        }
    }
}
...
Рейтинг: 0 / 0
11.09.2013, 17:30
    #38393925
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
skyANA,

это же C# :-P
...
Рейтинг: 0 / 0
11.09.2013, 17:33
    #38393935
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
hVostt, ну извините. Писать тоже самое на VB.NET уже не fun
...
Рейтинг: 0 / 0
11.09.2013, 17:38
    #38393950
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
skyANA,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
struct MyStructure
    {
        public string A {get;set;}
        public string B {get;set;}

        public string this[string key]
        {
            get { return this.GetType().GetProperty(key).GetValue(this, null) as string; }
        }
    }
...
Рейтинг: 0 / 0
11.09.2013, 20:07
    #38394094
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
hVostt, рефлексия - это костыль и тормоза
...
Рейтинг: 0 / 0
11.09.2013, 20:13
    #38394097
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
+ твой код выкинет NullReferenceException, если обратятся к несуществующему свойству.
...
Рейтинг: 0 / 0
11.09.2013, 20:36
    #38394107
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
skyANA,

«эти проблемы мы решим в следующей версии»
...
Рейтинг: 0 / 0
11.09.2013, 20:39
    #38394109
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к элементу типа Structure
skyANA,

вообще-то, конечно, странно наблюдать обилие вопросов, относящихся к платформе .NET в теме по ASP.NET
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обращение к элементу типа Structure / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]