Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET MVC和XAMARIN中使用相同的ViewModel_C#_Asp.net Mvc_Xamarin.forms - Fatal编程技术网

C# 如何在ASP.NET MVC和XAMARIN中使用相同的ViewModel

C# 如何在ASP.NET MVC和XAMARIN中使用相同的ViewModel,c#,asp.net-mvc,xamarin.forms,C#,Asp.net Mvc,Xamarin.forms,在我的ASP.NET应用程序中,我有各种带有注释的视图模型。 现在我想在我的XAMARIN应用程序中使用这些ViewModels。 注释不打算在XAMARIN应用程序中使用。 我知道,带注释和不带注释的ViewModel不是相同的ViewModel ,但字段是相同的。但是如何才能最大限度地共享代码呢 基本上每个视图都应该有自己的ViewModel。 然而,在这种情况下,在web、Android和iOS上多次使用ViewModels是很有诱惑力的。(如果在所有平台上显示的字段相等。) 使用Syst

在我的ASP.NET应用程序中,我有各种带有注释的视图模型。 现在我想在我的XAMARIN应用程序中使用这些ViewModels。 注释不打算在XAMARIN应用程序中使用。 我知道,带注释和不带注释的ViewModel不是相同的ViewModel ,但字段是相同的。但是如何才能最大限度地共享代码呢

基本上每个视图都应该有自己的ViewModel。 然而,在这种情况下,在web、Android和iOS上多次使用ViewModels是很有诱惑力的。(如果在所有平台上显示的字段相等。)

使用System.ComponentModel.DataAnnotations;
命名空间。。。{
公共课堂评论:Atom
{
/// 
///名字
/// 
[必需]
[显示(Name=“Name”)]
[StringLength(40,ErrorMessage={0}必须至少有{2}个字符长。”,MinimumLength=3)]
[数据类型(DataType.Text)]
公共字符串自动{get;set;}
}
}
坦克

您可以尝试使用

使用System.ComponentModel.DataAnnotations;
命名空间。。。{
公共课堂评论:Atom
{
/// 
///名字
/// 
#如果移动__
//Xamarin iOS或Android特定代码
[必需]
[显示(Name=“Name”)]
[StringLength(40,ErrorMessage={0}必须至少有{2}个字符长。”,MinimumLength=3)]
[数据类型(DataType.Text)]
#恩迪夫
公共字符串自动{get;set;}
}
}
using System.ComponentModel.DataAnnotations;
namespace ... {
    public class Review : Atom
    {
        /// <summary>
        ///     Name
        /// </summary>
        [Required]
        [Display(Name = "Name")]
        [StringLength(40, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 3)]
        [DataType(DataType.Text)]
        public string Autor { get; set; }
    }
}
using System.ComponentModel.DataAnnotations;
namespace ... {
    public class Review : Atom
    {
        /// <summary>
        ///     Name
        /// </summary>
#if __MOBILE__
        // Xamarin iOS or Android-specific code
        [Required]
        [Display(Name = "Name")]
        [StringLength(40, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 3)]
        [DataType(DataType.Text)]
#endif
        public string Autor { get; set; }
    }
}