То, что вы спрашиваете при утечной печати, - это свободная типизация, а .net - это во всех случаях статическая типизация, по крайней мере, до версии 3.5.
если вы идете по пути такого рода и набираете тип освобождения:
classical frameworks
=> prototyping frameworks
=> duck typing
.
В js, очевидно, вы можете достичь почти всего этого, но в c # или vb.net вы окажетесь в классическом и бюрократическом отношении к типам.
Вы можете свободно создавать эти типы во время выполнения, но они занимают время обработки, и пока они не будут в памяти, они могут быть очень медленными.
Если это обязательно необходимо, у вас есть два пути (с отражением):
Вы можете создать те классы, которые, вероятно, будут владельцем свойства, используя информацию о свойствах, а затем создать тип и вставить в него. Вам нужно будет создать место для их размещения, например сборку или модуль. у вас будет мало поддержки или никакой поддержки от ваших нынешних методов, если вы не продумаете план действий для этого и не будете беспокоиться о проблемах безопасности, которые это может подразумевать.
Вы можете следовать по самому болезненному пути и использовать refle.emit, чтобы создать свой прямой путь в CLR, что может дать вам множество преимуществ. Хотя это может оказаться болезненным.
Если вы найдете способ, пожалуйста, я хотел бы услышать об этом, потому что печатать на утке это здорово. И хвалить независимых и смелых людей.
Удачи вам