Внутреннее ключевое слово означает, что единица кода (класс, метод и т. Д.) Является «общедоступной» для сборки, в которой она находится, но приватной для любой другой сборки.
Поскольку вы не в одной сборке, вы ничего не можете сделать. Если он не внутренний, вы можете использовать ключевое слово new в методе, который вы переопределяете (чтобы скрыть исходную реализацию) при расширении класса.
Короче говоря: вы должны быть SOL.
Единственное, что я могу о вас подумать, это написать прокси-класс, где одно из ваших закрытых полей - это класс, который вы хотите расширить, и вы реализуете все его методы и прокси их вызовы. таким образом, вы все равно можете настроить вывод, но вам придется использовать свой класс, и, учитывая, что он помечен как внутренний, я не уверен, что это возможно без серьезного взлома.
using System;
...
using System.Web.Script.Services
namespace MyGreatCompany.ScriptServices
{
public class MyScriptHandlerFactory /* implement all the interfaces */
{
private ScriptHandlerFactory internalFactory;
public MyScriptHandlerFactory()
{
internalFactory = new ScriptHandlerFactory();
}
...
}
}
Это может сделать возможным то, что вы хотите достичь, но это не будет красиво.