Интерпретация и/или получение dotNet кодируют во времени выполнения

Изменение, что конструктор в классе A к

protected A(int a, int b)
{
    // Some initialisation code here
}

Затем Ваши подклассы должен будет использовать его, как нет никакого конструктора по умолчанию.

Они могут, однако, все еще изменить фактическую подпись конструктора. Нет никакого способа вынудить подкласс использовать определенную подпись для своего конструктора насколько я знаю. Я - вполне уверенные конструкторы, не может быть абстрактным.

, Для чего точно Вы нуждаетесь в этом? Мы смогли предлагать работу вокруг для этого.

6
задан Deduplicator 28 October 2015 в 18:15
поделиться

2 ответа

  1. Javascript на стороне сервера является одним из языков, поддерживаемых платформа .NET. Я использовал его много раз в сценариях, когда вам нужно вставить небольшие фрагменты кода в существующий код. Во время выполнения он может быть загружен, например, из базы данных и скомпилирован, поэтому нет никаких штрафов за преформацию.

  2. С точки зрения выполнения сантехнических работ (извлечение источника, его компиляция и т. Д.) Нет никакой разницы. Однако со строго типизированными языками гораздо сложнее собрать фрагменты кода в компилируемую единицу компиляции.

  3. Разрешения - определенно проблема. Я не уверен в конкретном разрешении, о котором вы упомянули, но безопасность - это проблема, в конце концов, исходный код, который вы компилируете, может быть любым, и если вы не будете осторожны с источником своего кода, он может стать бэкдором в вашей системе

  4. ответ на этот - да, конечно. Вы можете загрузить сборку откуда угодно, не обязательно из файла, вы также можете компилировать в памяти - это то, что я делаю. В этом случае нет файла dll.

2
ответ дан 17 December 2019 в 18:18
поделиться

Вы задаете вроде как несколько вопросов, поэтому я дам вам представление об одном из них. Есть очень хорошая статья и несколько примеров кода из: http://www.west-wind.com/presentations/dynamicCode/DynamicCode.htm в котором говорится о компиляции и выполнении кода C # во время выполнения. Мне он показался очень полезным, и я использую его в стандартном приложении C #. Похоже, его можно использовать и для вашей проблемы.

1
ответ дан 17 December 2019 в 18:18
поделиться