标签: partial-classes

可序列化的部分类

我有以下VB.NET类定义:

<Serializable()> Partial Public Class Customers
End Class
Run Code Online (Sandbox Code Playgroud)

在另一个文件中我有相同的东西(当然有不同的方法和变量).当我编译时,我收到以下错误:

属性'SerializableAttribute'不能多次应用.

这个错误非常自我解释.我的问题是,如果我只将一个类标记为Serializable(),我可以假设整个类被标记为serializable()吗?换句话说,我只需要在类中的1个位置使用serializable()标记吗?

.net c# vb.net asp.net partial-classes

6
推荐指数
2
解决办法
5450
查看次数

在什么条件下有一个"部分类?"是好的?

什么时候将你的班级分成两个.cs并将其作为一个部分类?

是否有迹象显示是时候进行部分课程了?

谢谢!

c# partial-classes

6
推荐指数
3
解决办法
308
查看次数

我可以从另一个分类中调用一个分部类中定义的函数.可能吗?

我为网页创建了两个部分类.

现在我已经给出了一个函数的定义,说我在调用OnSubmit事件按钮时调用submit().

但是这个函数没有被调用,程序没有编译,因为它无法搜索函数的定义,函数的定义是在另一个分类中定义的.是否可以调用此函数,或者我必须在im调用它的同一文件中给出函数的定义

例如

<%@ Page Language="C#" MasterPageFile="~/Master Pages/LeftMenu.master" AutoEventWireup="true" CodeFile="Registration.aspx.cs" Inherits="Web_Pages_Authentication_Login_Management_Registration" Title="Registration" StylesheetTheme="Default Theme 1"  %>
Run Code Online (Sandbox Code Playgroud)

Registration.aspx.cs

public partial class Web_Pages_Authentication_Login_Management_Registration : System.Web.UI.Page
{
    private string firstName;
    private string lastName;
    private string userName;
    private string userPassword;
    private string primaryEmail;
protected void btnSubmit_Click(object sender, EventArgs e)
    {
       Display();
    }
}
Run Code Online (Sandbox Code Playgroud)

Registration_Database.cs

   public partial class Web_Pages_Authentication_Login_Management_Registration 
    {
       const string dbFirstName = "@FirstName";
       const string dbLastName = "@LastName";
       const string dbUserName= "@UserName";
       const string dbUserPassword = "@UserPassword";
       const string dbPrimaryEmail = "@PrimaryEmail"; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net partial-classes

6
推荐指数
1
解决办法
2万
查看次数

EF 4,如何添加部分类

我需要扩展我的EF部分类,因为我想添加一些功能来使用Oracle的序列,但是我真的不知道如何使用这个部分类的东西,我制作了一个单独的.cs文件并将其命名为一个我的自动生成的类如下:

namespace GlassStoreDAL
{
    public partial class CAR 
    {
        private int _sequences;
        public int sequences
        {
            get { return _sequences; }
            set { _sequences = value; }
        }
    }  
}
Run Code Online (Sandbox Code Playgroud)

现在我认为,在我的BLL上 - 它引用了GlassStoreDAL - 我可以找到我的"序列"属性,但显然出现了问题,我将不胜感激.

这是我生成的部分类,我是否还有序列属性?

[EdmEntityTypeAttribute(NamespaceName="Model", Name="CAR")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class CAR : EntityObject
{
    #region Factory Method
    /// <summary>
    /// Create a new CAR object.
    /// </summary>
    /// <param name="id">Initial value of the ID property.</param>
    public static CAR CreateCAR(global::System.Decimal id)
    {
        CAR cAR = new CAR();
        cAR.ID …
Run Code Online (Sandbox Code Playgroud)

.net c# oracle partial-classes entity-framework-4

6
推荐指数
2
解决办法
1万
查看次数

在WCF服务中覆盖ToString方法

这是我的服务生成类:

public partial class MyClass : object, 
                               System.Runtime.Serialization.IExtensibleDataObject, 
                               System.ComponentModel.INotifyPropertyChanged 
{ }
Run Code Online (Sandbox Code Playgroud)

我正在使用自己的服务.在MyClass我已经被覆盖ToString()但我没有在我的客户端.我要么要生成它,要么MyClass部分我能够覆盖ToString自己?

我知道我可以用生成的.cs文件写.什么是最好的方法,我应该做什么?

.net c# wcf serialization partial-classes

6
推荐指数
1
解决办法
1660
查看次数

Roslyn 分析器:类是否标记为部分

有没有办法找出类是否partial在 Roslyn 分析器内?有一个PartialImplementationPartin IMethodSymbol,但没有类似的 for INamedTypeSymbol

我正在编写一个源生成器,并且仅在可能的情况下才生成该类的第二部分(如果第一部分是部分的)。

c# partial-classes roslyn-code-analysis csharp-source-generator

6
推荐指数
1
解决办法
1190
查看次数

如何在C#中组合部分类对象?

我定义了一个类:

public class Sample{
    public string name {get;set;}
    public int price {get;set}
}
Run Code Online (Sandbox Code Playgroud)

然后

 Sample sampleA = new Sample();
 sampleA.name = "test";

  Sample sampleB = new Sample();
  sampleB.price = 100;
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我将JSONed sampleA和JSONed sampleB保存到Azure表,以呈现完整的示例对象.在其他代码中,有时只需要名称,有时只需要价格,所以我只需要提取每次需要的数据.当然,在实际代码中,样本的结构要复杂得多.

我的问题是:是否有任何简单的方法可以做到:

  Sample sampleC = sampleA + sampleB;
Run Code Online (Sandbox Code Playgroud)

和sampleC应包含:

 sampleC.name = "test";
  sampleC.price = 100;
Run Code Online (Sandbox Code Playgroud)

c# json partial-classes

5
推荐指数
2
解决办法
823
查看次数

如何在部分类的另一半中定义的属性上使用属性?

我有一个自动生成的类来导入包含这样的(缩写)的web服务:

[System.Runtime.Serialization.DataMemberAttribute()]
public System.DateTime StartDate 
{
    get 
    {
        return this.StartDateField;
    }
    set { /* implementation prop changed */ }
}
Run Code Online (Sandbox Code Playgroud)

我想为此成员添加MVC格式属性.所以在另一个包含相同partial class定义的文件中,我想做类似以下的事情(这是非法的):

[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
public DateTime StartDate;
Run Code Online (Sandbox Code Playgroud)

部分方法在这里没有用,因为部分方法必须是私有的,具有void返回类型,必须是方法等等.

我该如何装饰这个会员?

c# asp.net-mvc attributes partial-classes

5
推荐指数
1
解决办法
3096
查看次数

我什么时候应该使用Partial关键字?

我正在阅读有关Partial关键字的MSDN文章,这部分引起了我的注意:

partial关键字表示可以在命名空间中定义类,结构或接口的其他部分.所有部分都必须使用partial关键字.所有部件必须在编译时可用,以形成最终类型.所有部件必须具有相同的可访问性,例如public,private等.

[...]

指定基类的所有部分必须一致,但省略基类的部分仍然继承基类型.部件可以指定不同的基接口,最终类型实现所有部分声明列出的所有接口.在部分定义中声明的任何类,结构或接口成员都可用于所有其他部分.最后的类型是编译时所有部分的组合.

关于这个概念我有两个问题:

  • 首先,似乎这是一种绕过C#中缺少多重继承的方法(当然除了接口).除了正常的多重继承问题,例如钻石问题,这样做是否会产生任何影响?基本上,仅仅因为我可以,这是否意味着我应该

  • 其次,我什么时候应该拆分文件?通过阅读本文,我觉得我应该能够在自己的文件中声明一个嵌套类,并将其与包含的类一起分开,从而提高可读性.这是Partial的要点,还是仅应按照上述文章中的描述使用?

c# multiple-inheritance partial-classes

5
推荐指数
1
解决办法
1402
查看次数

类型X与导入的类型X冲突

在实体框架(数据库优先)中,我试图向创建的类添加一些数据注释.

一般来说:我创建了类X:

namespace Info
{
    using System;
    using System.Collections.Generic;

    public partial class X
    {
        public string SomeProperty {get; set;}
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望SomeProperty在序列化为JSON时忽略属性,因此在App_Code/Metadata创建类X.cs时我添加了一些MetaData:

namespace Info
{

    public class XMetaData
    {
        [JsonIgnore]
        public string SomeProperty{get; set;}
    }

     [MetadataType(typeof(XMetaData))]
     public partial class X
     {

     }

}
Run Code Online (Sandbox Code Playgroud)

上面我手动更改了命名空间,Info.App_Code.MetadataInfo使部分类匹配.

但是在我使用X类的所有地方我都有警告

The type Info.X in '.../Info/App_Code/Metadata/X.cs ' conflicts with the imported type Info.X in '.../Info/X.cs'. Using the type defined in '.../Info/App_Code/Metadata/X.cs '

我期望两个部分类都将被合并,但是所有出现都是指那个空的X类.

有人知道我错过了什么吗?

c# entity-framework partial-classes data-annotations

5
推荐指数
2
解决办法
5217
查看次数