В настоящее время я пытаюсь написать расширения до Dynamic Linq. Для этого мне нужно добавить подпись метода к интерфейсу IEnumerableSignatures
, расположенному во внутреннем классе ExpressionParser
.Метод расширения для интерфейса во внутреннем классе
internal class ExpressionParser
{
interface IEnumerableSignatures
{
[...]
}
}
В то время как я мог бы добавить подпись к коду непосредственно, я предпочел бы определить это как метод расширения на интерфейс, чтобы сохранить исходный код в чистоте. Обычно, чтобы добавить метод DefaultIfEmpty
, я хотел бы сделать что-то вроде этого:
internal static class Extension
{
static void DefaultIfEmpty(this ExpressionParser.IEnumerableSignatures sig);
}
Это дает ошибку доступа, хотя, потому что ExpressionParser
является внутренним. Я уже пробовал с несколькими комбинациями уровня доступа для класса и метода.
Есть ли способ добавить метод расширения для такого интерфейса или мне нужно испортить исходный код?
Оказывается, даже если сам интерфейс является внутренним (или общедоступным), он не распознается динамическим linq. У меня все еще есть не найденное исключение во время выполнения. Таким образом, нет (очевидного) способа редактирования кода codeplex. [/ править]
ли в той же сборке? – Silvermind
Если это так. Сначала я хотел, чтобы dll из codeplex, но поскольку я добавил свой код непосредственно в исходный код, да, он в настоящее время. –