Newtonsoft.JSON serializeobject retorna uma string JSON vazia [duplicada]

Essa missão, ion, já tem uma resposta aqui:

JsonConvert.SerializeObject sempre retorna {} em XamarinForms 2 respostas

Todo mundo fez essa pergunta muito, e eu tentei quase tudo, mas nada disso funciona para mim.

Portanto, estou desenvolvendo o Xamarin.Forms e estou prestes a enviar meus dados para o servidor. Eu tenho essa classe:

public class Customer
{

    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string BirthDate { get; set; }
    public string Password { get; set; }
    public string EmailAddress { get; set; }
    public string ContactNumber { get; set; }

}

Então eu usei o método SerializeObject da Newtonsoft:

Customer customer = new Customer
        {
            FirstName = FirstName.Text,
            LastName = LastName.Text,
            BirthDate = BirthDate.Date.ToString(),
            EmailAddress = Email.Text,
            Password = Password.Text,
            ContactNumber = Mobile.Text
        };


        var item = JsonConvert.SerializeObject(customer);

Mas variávelitem resulta em uma sequência que contém um objeto JSON vazio{}. Há algo de errado com minha implementação?

EDIT: Além disso, notei que, embora minha classe Customer e seus membros sejam públicos, o depurador ainda os conta como membros "não públicos". Por favor, veja "captura de tela do depurador":

questionAnswers(2)

yourAnswerToTheQuestion