Mvvm 带有接口的分部类

Mvvm 带有接口的分部类,mvvm,partial-classes,Mvvm,Partial Classes,我有两个名称空间,其中两个类的名称相同,类似于“public partial class CustomerDetail”,一个来自“namespace MS.Client”,它实现“IClient”接口,另一个来自“namespace MS.Customer”,它在不同的程序集中实现“icCustomerInfo”接口。我正试图从其他一些“namespace MS.Applications.View”访问“CustomerDetail”,其中引用了“namespace MS.Client”,但当

我有两个名称空间,其中两个类的名称相同,类似于“public partial class CustomerDetail”,一个来自“namespace MS.Client”,它实现“IClient”接口,另一个来自“namespace MS.Customer”,它在不同的程序集中实现“icCustomerInfo”接口。我正试图从其他一些“namespace MS.Applications.View”访问“CustomerDetail”,其中引用了“namespace MS.Client”,但当我假设在“namespace MS.Applications.View”中实例化“CustomerDetail”类时,“我会在所有名称空间中除去属于“CustomerDetail”的所有属性,对吗?但它实际上不起作用。有人能帮我解决这个问题吗

namespace MS.Client
{
    public partial class CustomerDetail : IClient
    {
        private string name;

        public string CustName
        {
            get { return name; }
            set { name = value; }
        }

        private string address;

        public string CustAddress
        {
            get { return address; }
            set { address = value; }
        }


    }
}



如果有人不能理解我的摘要,请告诉我。

否,类是其名称空间的本地类,因此,您不能从其他名称空间修改类。所有类都有一个完全限定的名称,这是它们的真实名称,名称空间是它的一部分

您在代码中实际做的是定义两个不同的
CustomerDetail
类,每个类位于不同的命名空间中,实际上是:
MS.Customer.CustomerDetail
MS.Client.CustomerDetail

为了实现您正在尝试的功能,您需要更改以更改其中一个名称空间,以便它们实际匹配,
CustomerDetail
实际上是相同的(即,它们具有相同的完全限定名,因为它们以相同的名称空间作为前缀,并且具有相同的名称)

namespace MS.Customer
{
    public partial class CustomerDetail : ICustomerInfo
    {
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        private string address;

        public string Address
        {
            get { return address; }
            set { address = value; }
        }

    }
}