Как «переопределить» внутренний класс в C#?
Ключевое слово internal означает, что override блок кода (класс, метод и c# т. д.) является «общедоступным» для c-sharp сборки, в которой он находится, но c-sharp частным для любой другой function-overriding сборки.
Поскольку вы находитесь .cs-file в разных сборках, вы ничего visual-c# не можете сделать. Если бы function-overriding он не был внутренним, вы c#-language могли бы использовать ключевое override слово new в методе, который overrides вы переопределяете (чтобы internal-class скрыть исходную реализацию) при internal-class расширении класса.
Короче: вы function-overriding должны быть СОЛОМ.
Единственное, что c#.net я могу придумать, что вы c-sharp могли бы сделать, это написать .cs-file прокси-класс, где одно из overriding ваших частных полей - это override класс, который вы хотите visual-c# расширить, и вы реализуете c-sharp все его методы и проксируете internal-class их вызовы. таким образом c-sharp вы все еще можете настраивать c#.net вывод, но вам придется использовать overrides свой класс, и, учитывая, что c# он помечен как внутренний, я c# не уверен, что это возможно .cs-file без серьезного взлома.
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();
}
...
}
}
Это c# может сделать то, что вы хотите internal-class сделать, возможным, но это c#.net будет некрасиво.
c#
overriding
internal-class
Как «переопределить» внутренний класс в C#?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.