Ошибка с Частичными классами C#

Чтобы преобразовать значение формы в массив стилей php в javascript, мы можем использовать порт функции php parse_str в javascript, найденном здесь . У Jquery есть API для получения формы в виде закодированной строки .serialize()

Демонстрация с использованием вашей формы https://jsfiddle.net/cp9akow0/

11
задан Adam Tegen 8 October 2008 в 21:16
поделиться

5 ответов

Два частичных класса в том же пространстве имен? Это могло быть объяснением.

29
ответ дан 3 December 2019 в 00:49
поделиться

Сначала, я не мог воспроизвести Вашу ошибку.

То, когда эти частичные классы определяются одни в пространстве имен, частное ключевое слово заставляет сборку перестать работать с "Элементами, определенными в пространстве имен, не может быть явно объявлено как частное, защитило или защитило внутренний"...

Если я сохраняю их частными и вкладываю их в другом классе, все хорошо работает.

Я могу воспроизвести Вашу ошибку только, когда в одном файле у меня есть часть класса, вложенного в другом классе, и в другом файле, я НЕ вкладываю класс и затем удаляю частное ключевое слово... как это:

Class1.cs:

namespace stackoverflow.answers
{
    public class Foo
    {
        private partial class Bar
        {
            private string SomeProperty { get { return "SomeGeneratedString"; } }
        }
    }
}

Class2.cs:

namespace stackoverflow.answers
{
    partial class Bar
    {
        void SomeFunction()
        {
            string bar = this.SomeProperty;
        }
    }    
}

Я также получаю ошибку, которую Вы описали, отличаются ли пространства имен.

Отправьте весь код для решения, потому что предоставленный код является недопустимым синтаксисом C# и не может быть изучен без большего количества контекста.

5
ответ дан 3 December 2019 в 00:49
поделиться

другое пространство имен?

5
ответ дан 3 December 2019 в 00:49
поделиться

Ошибка, которую я получаю:

Элементы, определенные в пространстве имен, не могут быть явно объявлены как частные, защитили или защитили внутренний

Я предполагаю, что это - проблема пространства имен, как ранее указано.

1
ответ дан 3 December 2019 в 00:49
поделиться

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

1
ответ дан 3 December 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: