序列化类Xamarin.Forms

时间:2018-01-26 16:33:50

标签: xamarin xamarin.forms

我正在尝试序列化课程,但我不能这样做。 我有一节课:

dfData <- read.csv('Input.csv')

a <- .05
b <- 1.1  
d <- list(a=a, b=b)

dfData$count <- dfData$Trials
dfData$rates <- dfData$Successes / dfData$Trials
dfData$a <- a
dfData$b <- b

my_formula <- stats::as.formula("rates ~ 1-(1/(10^(a * count ^ (b-1))))")

fit <- stats::nls(my_formula, data=dfData, weights=dfData$count, start=d)
print(fit)

# Nonlinear regression model
#   model: rates ~ 1 - (1/(10^(a * count^(b - 1))))
#    data: dfData
#       a       b 
# 0.01043 1.24943 
#  weighted residual sum-of-squares: 14.37

# Number of iterations to convergence: 6 
# Achieved convergence tolerance: 9.793e-07

# To return parameters  
fit$m$getPars()['a']
# 0.01042569 

fit$m$getPars()['b']
# 1.24943

在我的MainPage.xaml.cs中,我有:

public class DadosTitulo
{
    public string nome { get; set; }
    public string numeroCpfCnpj { get; set; }
    public string logradouro { get; set; }
    public string numero { get; set; }
    public string complemento { get; set; }
    public string bairro { get; set; }
    public string cep { get; set; }
    public string municipio { get; set; }
    public string uf { get; set; }
    public double valor { get; set; }
    public string numeroDocumento { get; set; }
    public string dataVencimento { get; set; }
    public string celularDestino { get; set; }
    public bool registroProducao { get; set; }
}

MainPage.xaml的属性值:

private async void btnAdicionar_Clicked(object sender, EventArgs e)
{
    var retorno = "";
    var titulo = new DadosTitulo
    {
        nome = txtNome.Text,
        numeroCpfCnpj = txtNumeroCpfCnpj.Text,
        logradouro = txtLogradouro.Text,
        numero = txtNumero.Text,
        complemento = txtComplemento.Text,
        bairro = txtBairro.Text,
        cep = txtCep.Text,
        municipio = txtMunicipio.Text,
        uf = txtUF.Text,
        valor = Convert.ToDouble(txtValor.Text),
        numeroDocumento = txtNumeroDocumento.Text,
        dataVencimento = DataVencimento.Date.ToString("dd/MM/yyyy"),
        celularDestino = txtDddCelularDestino.Text + txtNumCelularDestino.Text,
        registroProducao = RegistraProducao
    };
    var registroService = new RegistroBoletoService();
    retorno = registroService.RegistrarBoleto(titulo);
    await DisplayAlert("Json", retorno, "OK");
}

在RegistroBoletoService中:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:AppRegistraBoletoXF"
             x:Class="AppRegistraBoletoXF.MainPage">

    <StackLayout Orientation="Vertical">
        <StackLayout>
            <Label Text="Registra Boleto" TextColor="Indigo" FontSize="Medium" />
        </StackLayout>
        <StackLayout>
            <Label Text="Informe os dados do Título:" TextColor="Black" FontSize="Small" />
        </StackLayout>
        <StackLayout>
            <Entry x:Name="txtNome" Placeholder="Nome" HorizontalOptions="Start" 
                    VerticalOptions="StartAndExpand" HeightRequest="35" WidthRequest="300" FontSize="Small"/>
            <Entry x:Name="txtNumeroCpfCnpj" Placeholder="CPF/CNPJ" HorizontalOptions="Start" 
                    VerticalOptions="StartAndExpand" HeightRequest="35" WidthRequest="300" FontSize="Small" />
            <StackLayout Orientation="Horizontal">
                <Entry x:Name="txtLogradouro" Placeholder="Logradouro" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="160" FontSize="Small" />
                <Entry x:Name="txtNumero" Placeholder="Número" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="50" FontSize="Small" />
                <Entry x:Name="txtComplemento" Placeholder="Complemento" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="90" FontSize="Small" />
            </StackLayout>
            <StackLayout Orientation="Horizontal">
                <Entry x:Name="txtBairro" Placeholder="Bairro" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="180" FontSize="Small" />
                <Entry x:Name="txtCep" Placeholder="CEP" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="120" FontSize="Small" />
            </StackLayout>
            <StackLayout Orientation="Horizontal">
                <Entry x:Name="txtMunicipio" Placeholder="Município" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="250" FontSize="Small" />
                <Entry x:Name="txtUF" Placeholder="UF" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="50" FontSize="Small" />
            </StackLayout>
            <StackLayout Orientation="Horizontal">
                <Entry x:Name="txtDddCelularDestino" Placeholder="DDD" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="50" FontSize="Small" />
                <Entry x:Name="txtNumCelularDestino" Placeholder="Celular Destino" HorizontalOptions="StartAndExpand" VerticalOptions="Start" 
                        HeightRequest="35" WidthRequest="250" FontSize="Small" />
            </StackLayout>

            <Entry x:Name="txtNumeroDocumento" Placeholder="Número do Título" HorizontalOptions="Start" 
                    VerticalOptions="StartAndExpand" HeightRequest="35" WidthRequest="300" FontSize="Small"/>
            <Entry x:Name="txtValor" Placeholder="Valor do Título" HorizontalOptions="Start" 
                    VerticalOptions="StartAndExpand" HeightRequest="35" WidthRequest="300" FontSize="Small"/>

            <StackLayout Orientation="Horizontal">
                <Label Text="Registro em Produção: " TextColor="Black" FontSize="Small" HorizontalOptions="Start" 
                    VerticalOptions="StartAndExpand" />
                <DatePicker DateSelected="DataSelecionada" HorizontalOptions="Start"  VerticalOptions="StartAndExpand">
                    <DatePicker.Format>dd/MM/yyyy</DatePicker.Format>
                </DatePicker>
            </StackLayout>

            <StackLayout Orientation="Horizontal">
                <Label Text="Registro em Produção: " TextColor="Black" FontSize="Small" HorizontalOptions="Center" 
                    VerticalOptions="StartAndExpand" />
                <Switch IsToggled="False"  Toggled="RegistrarProducao" HorizontalOptions="Center" 
                    VerticalOptions="StartAndExpand" />
            </StackLayout>


            <Button HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand" HeightRequest="40" Text="Registrar Título" 
                    Clicked="btnAdicionar_Clicked" FontSize="Small"/>
        </StackLayout>

    </StackLayout>

</ContentPage>

数据总是返回“{}”:Result from MainPage.xaml.cs Json on device

我在同一个解决方案中从Console Project调用了RegistroBoletoService测试,结果如预期:数据包含json Result From Console Project Json from Console Project

我注意到有趣的一点:当我在MainPage.xaml.cs中实例化该类时,行为与Console Project不同,该类中的非公共成员:Call from MainPage.xaml.cs

控制台实例化:Call from Console Project

我认为这是问题,任何人都知道它发生了什么?为什么当我在MainPage中实例化类时,我从控制台获得了不同的行为?

非常感谢,对不起我的英语。

PS:.NET Standard中的项目;我不是在这种情况下使用MVVM;我尝试使用链接器SDK Assemblies Only和None进行测试。

0 个答案:

没有答案