【问题标题】:How to create partial class instance from original如何从原始创建部分类实例
【发布时间】:2019-11-18 15:27:29
【问题描述】:

我在命名空间 do.it.like.a.boss 中有 A 类,

之后我将创建另一个类 A,它将是部分的,命名空间将 be do.it.like.a.child

到目前为止,一切听起来都不错……但是

我有要返回部分类的道具,我列表中的实际数据是原始数据

public do.it.like.a.child.A A
{
   get
   {
      return my list.Where(x => x.id == someid).FirstOrDeffult(); // the list is do.it.like.a.boss.A objects
   }
}

在这种情况下甚至有可能做点什么吗?

谢谢

【问题讨论】:

  • 正如this 回答所述,您不能在两个不同的命名空间中拥有一个类的两个部分。 do.it.like.a.boss.A 和 do.it.like.a.child.A 是两种完全不同的类型,只是碰巧有一个名字
  • 你能显示更多代码吗?很难确定您要做什么。分部类必须在同一个命名空间中包含所有“片段”。
  • 你的想法的目的是什么(在命名空间上传播部分类)?
  • 您不能在两个命名空间中拥有分部类。 stackoverflow.com/a/14446250/1273882
  • @Ackdari ,逆向工程认为也许有一些新功能可以处理这种情况

标签: c# .net oop partial


【解决方案1】:

这是不可能的,因为分部类的每个部分都需要在同一个命名空间中。以此为例:

namespace Test.Foo
{
    public partial class Bar
    {
        public string Hello => "World";
    }
}

namespace Test.Bar
{
    public partial class Bar
    {
        // This is impossible, as Test.Foo.Bar and Test.Bar.Bar are 2 entirely different classes
        public string World => Hello;
    }
}

Here 是关于部分类的 MSDN 文档。

P.S 为什么需要这样的东西?

【讨论】:

  • 这么想...逆向工程(不是我应该添加功能的代码)好的..需要更改列表数据源,谢谢
猜你喜欢
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-29
  • 2014-03-03
  • 1970-01-01
相关资源
最近更新 更多