• Как сделать что бы при уменьшении длины страницы длина блока уменьшалась?

    NikFaraday
    @NikFaraday
    Даниил Секретов, процентное соотношение определяется по отношению к родительскому компоненту, значит у вас где-то проблема с компонентами верхнего уровня
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    Александр, не поверите, 8.0) Я их по старинке не маркаю required
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    VoidVolker, ещё додам

    Это мне вообще в наследство досталось) Предыдущие разработчики плохо понимали понятия слабо связанного кода, по этому тут очень много косяков есть. Пока не хочу что-то менять, т.к. боюсь, что всё развалится просто.

    Как реализацию бизнес задачи я сделаю метод для Export'а и Import'а объекта вручную. Наверно придётся писать свой сериализатор на базе System.Reflection
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    VoidVolker, проблема в том, что не должно быть публичных конструкторов. Решение проблемы из самого вопроса я нашёл, но это немного рушит бизнес логику приложения. Все компоненты системного объекта должны быть приватными, а сам объект строится за счёт реализации паттерна Builder, т.е. он имеет доступ к приватным конструкторам и может полностью воссоздать требуемый сложный объект по установленным правилам (Реализация Strategy)
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    VoidVolker, короче, дело было так...

    Я попробовал использовать библиотеку Utf8Json для сериализации/десериализации. Я попытался сделать сериализацию через byte[] закинув этой всё в файл при помощи BinaryWriter. При чтении через BinaryReader я получил аналогичный byte[], который должен был восстановить исходный объект, т.к. количество байтов, их последовательность и значения совпадали (Что логично предположить, что объект нормально прочитался в точности 1 в 1), но при попытке десериализации я получил ошибку:
    System.InvalidOperationException: 'generated serializer for Document does not support deserialize.'


    Вот сам код сериализации:
    if (string.IsNullOrWhiteSpace(path))
    {
        path = document.Metadata.SavedAt;
    }
    
    string fileName = document.Metadata.DocumentName;
    string fileExtension = document.Metadata.Extension;
    string fullFileName = $"{fileName}.{fileExtension}";
    
    byte[] documentBytes = JsonSerializer.Serialize(document);
    
    try
    {
        using (FileStream fileStream = File.Create(fullFileName))
        using (BinaryWriter binaryWriter = new BinaryWriter(fileStream))
        {
            binaryWriter.Write(documentBytes);
        }
    }
    catch (Exception ex)
    {
        return ResponseService<string>.Error(ex.ToString());
    }
    return ResponseService<string>.Ok(fullFileName);


    Вот десериализация:
    byte[] readBytes = new byte[0];
    
    using (FileStream fileStream = new FileStream(path, FileMode.Open))
    using (BinaryReader binaryReader = new BinaryReader(fileStream))
    {
        readBytes = binaryReader.ReadBytes((int)binaryReader.BaseStream.Length);
    }
    
    try
    {
        Document result = JsonSerializer.Deserialize<Document>(readBytes);
        return ResponseService<Document>.Ok(result);
    }
    catch (Exception ex)
    {
        return ResponseService<Document>.Error(ex.ToString());
    }


    По этому посмею предположить, что проблема из-за запрета доступа к свойствам. Тут может быть несколько объяснений этой теории. System.Json мне прямо сказала, что для таких действий нужен public конструктор без параметров, а NewtonSoft.Json просто кидало ошибку при попытке чтения символов (Что до сих пор остаётся под вопросом). Далее попробую сделать некие изменения в коде, если всё будет работать, выставлю остаточный ответ
    Написано
  • Обойти CORS запрос?

    NikFaraday
    @NikFaraday
    В придачу, тут больше играет не политика CORS на стороне сервера (Вашего), а не стороне клиента (я.маркет)
    Написано
  • Обойти CORS запрос?

    NikFaraday
    @NikFaraday
    Так вы думаете, что такие политики безопасности сделаны просто так, если любом JS любитель может прийти и прописать скрипты из страницы?)
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    VoidVolker, может ли это как-то быть связано с тем, что в классов нет публичных конструкторов и есть свойства private init?
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    #, к сожалению да, т.к. это часть дата-модели
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    #, та и курю) Пробовал ставить другой конвертер (Utf8Json) но результат примерно тот же. А NewtonJson ругается на... Пробел? ¯\_(ツ)_/¯
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    VoidVolker, какие другие конвертеры вы можете посоветовать? Может это поможет решить проблему
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    VoidVolker, я делал дебаг, оно просто отваливается на строке DeserializeObject. Посмотрите в комментариях под самим постом, я так написал несколько сообщений, может они могут вам помочь мне )
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    Уже смотрел через него, там тоже вроде бы как порядок. Конкретно часть, не которой ошибка выглят вот так в QuickType:

    public partial class CoverPage
    {
        [JsonProperty("Title")]
        public Content Title { get; set; }
    }
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    Сергей Соловьев, нет, тот же Newtonsoft.Json сериализатор. Вроде бы как с сериализацией всё хорошо, т.к. онлайн вьюверы нормально этот объект десериализируют
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    Сергей Соловьев, да и там во многих классах нет таких конструкторов. Там есть билдеры, которые сами объекты строят
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    Сергей Соловьев, нет, т.к. у меня в классе нет открытых конструкторов без параметров
    Написано
  • Почему не десериализуется JSON объект при помощи Newtonsoft.Json?

    NikFaraday
    @NikFaraday Автор вопроса
    Василий Банников, не могу полностью показать, вот условная часть, что отваливается:
    public X x { get; private init; }
    public HeaderStructure Header { get; private init; }
    // ...


    Далее похожие свойства, но к ним не доходит. Вот HeaderStructure:
    public CoverPage CoverPage { get; set; }
    public X1 x1 { get; set; }
    public X2 x2 { get; set; }


    CoverPage:
    public TextContent Title { get; set; }
    public TextContent x1 { get; set; }
    public TextContent x2 { get; set; }


    TextContent:
    public string Content { get; set; }
    Написано
  • Нормально ли писать на C# на Linux Manjaro?

    NikFaraday
    @NikFaraday
    сергей кузьмин, ну как сказать... C# опережает Java на очень-очень много. Компания Microsoft тратит очень много времени на поддержку и улучшение языка, а так же оптимизацию. Каждая версия C# поддерживается около 3-х лет. В C# есть очень много синтаксического сахар, который ускоряет разработку приложения. Кроссплатформенность позволяет разворачивать решения на любой платформе, а гибкость настройки позволяет писать любы решения.

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

    Visual Studio, которая является продуктом компании Microsoft достаточно удобна и гибкая, что подходит для множества разработчиков, тем более, для начинающих.

    Но самым большим преимуществом является наличие множества фреймворком для работы с любыми задачами и платформами. А ещё поддержка очень большого количества готовых пользовательских библиотек которые можно очень легко установить. Так же Microsoft купили Git и интегрировали его в свою IDE, что намного упрощает процесс работы с системой контроля версий.

    C# по своей истории всегда обходил Java во многому, и в большинстве случаев являлся прогрессивным в мире ИТ, т.к. именно в C# впервые была введена ручная работа с асинхронным кодом, введение Linq для удобной работы с данными, динамические типы и т.д.

    А это если говорить только за C#, а ведь на платформе .NET есть три языка программирования: C#, F# и VB.NET.

    Так что сравнение с Java вообще не уместно, т.к. Java проигрывает по многим параметрам. Сейчас Java вытесняются даже с рынка мобильной разработки такие языки как Kotlin, React Native и тот же C# (Xamarin, MUI)

    Так же, по слухам, могу предположить, что Microsoft планирует возродить свои Windows Phone на базе ОС Windows. Если вы заметили, Windows 10/11/12 так же поддерживают режим работы с планшетами и другими устройствами, не только ПК или ноутбуки. А Java как мобильную платформу вытеснили с рынка уже достаточно давно, когда пришла эра Android и IOS. Кстати да, C# поддерживает разработку кроссплатформенных приложений для IOS, чего не скажет о Java
    Написано
  • Как скопировать метод IL кода?

    NikFaraday
    @NikFaraday
    Ну вот есть статья на Хабре. Есть это и вот тут чуть-чуть
    Написано
  • Нормально ли писать на C# на Linux Manjaro?

    NikFaraday
    @NikFaraday
    Новоселов Андрей, .Net Xamarin, .Net MUI и т.д. пишутся на .NETStandart который является обобщённой платформой. Но это уже немного другая ветка. Пока что, чисто для Linux, можете ориентироваться на .NET Core
    Написано