Создание и заполнение структуры методом Reflection - Visual Basic .NET
Формулировка задачи:
Здравствуйте.
Мне нужно создать структуры с определенными полями, заполнить поля и вывести их значения.
Вывод реализовал:
Не получается сделать создание и заполнение.
Нужно что-то типа функции, у которой на входе тип объекта (Structure1, Structure2, etc), а возвращает она объект с заполненными полями.
Можно вариант с заранее созданным объектом:
Только в таком варианте у меня Option Strict On ругается.
Решение задачи: «Создание и заполнение структуры методом Reflection»
textual
Листинг программы
Option Strict On Imports System.Reflection Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim mc1 As New MyCla With {.p1 = 111, .p2 = 222, .p3 = 333} MyClaOutput(mc1) Dim mc2 As MyCla = CreateMyCla() MyClaOutput(mc2) End Sub Private Sub MyClaOutput(ByVal o As Object) Dim out As New System.Text.StringBuilder() For Each field As FieldInfo In o.GetType.GetFields(BindingFlags.Public Or BindingFlags.Instance) out.AppendLine(String.Format("{0}: {1}", field.Name, field.GetValue(o).ToString)) Next MsgBox(out.ToString) End Sub Private Function CreateMyCla() As MyCla CreateMyCla = New MyCla Dim i As Integer = 2 For Each field As FieldInfo In CreateMyCla.[GetType]().GetFields(BindingFlags.Instance Or BindingFlags.[Public]) field.SetValue(CreateMyCla, i) i *= i Next End Function End Class Public Class MyCla Public p1 As Integer Public p2 As Integer Public p3 As Integer End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д