Я не уверен, что это возможно, как я пытался это сделать. Возможно, я ошибаюсь, поэтому я попытаюсь немного объяснить большую картину. Я довольно новичок в такого рода программировании.Типы вложений и поля доступа
Я использую библиотеку NationalInstruments.VISA для доступа к устройствам. Когда вы открываете соединение, библиотека определяет, к какому типу подключений он подключен, и загружает интерфейс для соответствия, что дает вам доступ ко всем полям конфигурации для этого соединения. Программа извлекает файл XML для восстановления сохраненных соединений и их конфигураций.
В моей программе я хочу иметь массив объектов, которые определяют все отобранные параметры соединения, чтобы они могли ссылаться при необходимости. У меня возникли проблемы с определением того, как определить этот набор объектов.
Это общий пример того, как я хотел бы использовать объекты после их определения.
public class Device
{
public string type;
}
public class Serial
{
public int baudrate;
public string serialstuff;
}
public class GPIB
{
public int addr;
public string gpibstuff;
public string more stuff;
}
public example()
{
Device[] devlist = new Device[2];
devlist[0]=new Serial();
devlist[1]=new GPIB();
foreach (Device dev in _devlist)
{
if (dev.type == serial) //send serial settings
if (dev.type == gpib) //send gpib settings
}
}
метода, которые я пробовал, кажется, поймите меня близко, но я не могу получить доступ к полям подклассов без непосредственного объявить массив как этот подкласс. Вероятно, я просто подошел к этому неправильно, но я не понял альтернативного пути.
[Внутренние классы Java в C#] (http://stackoverflow.com/questions/2367015/java-inner-classes-in-c-sharp) может объяснить вашу проблему (я не совсем уверен, что вы проблема с кодом, который вы показали, кажется разумным) –