标签: object-graph

克隆整个对象图

使用此代码序列化对象时:

public object Clone()
{
    var serializer = new DataContractSerializer(GetType());
    using (var ms = new System.IO.MemoryStream())
    {
        serializer.WriteObject(ms, this);
        ms.Position = 0;
        return serializer.ReadObject(ms);
    }
}
Run Code Online (Sandbox Code Playgroud)

我注意到它没有复制关系.有没有办法让这种情况发生?

c# serialization datacontract object-graph

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

为什么人们谈论DI框架"实例化对象图"而不是"实例化对象"?

我正在读一本关于DI的书,它总是谈论DI框架"实例化对象图".为什么这样说而不是"实例化对象"?

dependency-injection terminology object-graph

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

是否有一个常见的Java方法来修剪对象图中的每个字符串?

我希望修剪作为对象图的一部分的所有字符串.

所以我有一个像这样的对象图

 RootElement
   - name (String)
   - adjective (String)
   - items ArrayOfItems
     - getItems (List<Item>)
       - get(i) (Item)
       Item
         - name (String)
         - value (double)
         - alias (String)
         - references ArrayOfReferences
           - getReferences (List<Reference>)
             - get(i) (Reference)
             Reference
               - prop1 (String)
               - prop2 (Integer)
               - prop3 (String)
Run Code Online (Sandbox Code Playgroud)

对象图中表示的每个类的每个属性都有一个get和set对.理想情况下,String类型的每个字段都会被修剪,包括枚举集合中包含的任何子对象.对象图中没有包含循环.

是否有任何java库实现某种通用对象图访问者模式或String\Reflection实用程序库来执行此操作?

执行此操作的外部第三方库也可以,它不必是标准Java库的一部分.

java string reflection object-graph

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

有人可以在iOS中解释文件所有者

对此问题提前道歉,尽管自iOS问世以来已经详细讨论过.但尽管我付出了最大的努力,但我仍然没有得到它.我可以拍摄的最接近的图像是"冻结和干燥的物体图形",这很好,但是当它归结为原始编程时,这无助于连接点.

因此,考虑到在找出问题之前你无法真正描述任何内容,让我们采用以下示例:

1)我有一个Xib文件,比如一个UIView,带有标签和imageView

2)我有一个来自UIView的classX,子类,它附加到IB的身份检查器中的Xib.IB连接和IB操作在连接检查器中连接到此类.此类将IB/IA声明为属性.

3)我有一个UIViewController,由classVC表示.在这个类中,我实例化1)使用标准[[NSBundle mainBundle] loadNibNamed:@"bla" owner:??? options:nil][0];

4)classX和classVC通过自定义委托,标准内容进行通信.

问题:

a)XIB文件的所有者是什么.老实说,我不知道.

b)我为主[[NSBundle mainBundle] loadNibNamed:@"bla" owner:??? options:nil][0];人参数添加了什么,最重要的是,为什么?

当对象图解冻并浇水时,不应该运行时连接Outlets在2)中定义的那么在这种情况下文件所有者的重点是什么?

要么

如果XIB文件奥特莱斯没有连接到任何东西,没有"文件的所有者"的意思是"我是一个包含所有必需的网点,使得类的实例,并解压缩XIB之间的连接可以使类?(这就是为什么我不得到它,因为如何建立关联???)

就是这样了.就像以前一样愚蠢.

编辑:我不同意其他答案同样有效的事实.我理解他们的意思,但到目前为止,我还没有理解所有者参数对于我描述的情况应该具有什么,最重要的是,为什么.

object-graph iboutlet ios loadnibnamed

5
推荐指数
0
解决办法
172
查看次数

带有嵌套对象的JSON.NET CustomCreationConverter

这是我在这个网站上提出的第一个问题,如果我错过了什么,请原谅我.

我在使用JSON.NET反序列化复杂对象图时遇到了一些问题.我的类层次结构(简化)如下:

public abstract class BusinessObjectBase
{
    protected BusinessObjectBase(SerializationContext context)
    {
    }
}

public class TestBusinessObject : BusinessObjectBase
{
    protected TestBusinessObject(SerializationContext context)
        : base(context)
    {
    }

    public NestedObject InnerObject { get; set; }
}

public class NestedObject : BusinessObjectBase
{
    protected NestedObject(SerializationContext context)
        : base(context)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这些类没有默认的ctor,而是一个专用的自定义反序列化ctor(除了带参数的其他公共ctor),如示例所示.要创建一个实例,我编写了一个自定义创建转换器,如下所示:

internal class BusinessObjectCreationConverter : CustomCreationConverter<BusinessObjectBase>
{
    public override bool CanConvert(Type objectType)
    {
        return typeof(BusinessObjectBase).IsAssignableFrom(objectType) && !objectType.IsAbstract;
    }

    public override BusinessObjectBase Create(Type objectType)
    {
        var businessObject = objectType.CreateUsingDesrializationConstructor<BusinessObjectBase>();
        return businessObject;
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# serialization json.net object-graph json-deserialization

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

匕首和对象图表与流/砂浆的范围

所以我本周末花了很多时间在Mortar和Flow上,我想我终于完成了大部分工作.我发现它比我原先想象的要复杂一点,主要是因为我还没有完全理解Dagger的ObjectGraph Scoping,Mortar非常依赖它.我在Dagger的网站上已经阅读了尽可能多的内容,但是我发现这个主题的信息在与Dagger特别相关时缺乏.

所以我有几个问题:1.我看到他们对@ Singleton的范围的例子:

@Layout(R.layout.screen_friend)
public class FriendScreen implements Blueprint {

  @Override public String getMortarScopeName() {
    return getClass().getName();
  }

  @Override public Object getDaggerModule() {
    return new Module();
  }

  @dagger.Module(
      injects = FriendView.class
  )
  static class Module {
  }

  @Singleton
  public static class Presenter extends ViewPresenter<TestView> {

    @Inject
    public Presenter() {
      Log.d("FriendScreen", "Friend Presenter Created");
    }

    @Override protected void onLoad(Bundle savedInstanceState) {
      super.onLoad(savedInstanceState);
    }
  }
Run Code Online (Sandbox Code Playgroud)

在这种情况下,Presenter是否专门针对此模块,因为它是一个内部类?2.如何确保仅在此对象图中创建它的实例而不是全局应用程序对象图?2.如果演示者太大了,我想把它移到它自己的独立课程怎么办?我如何将其范围仅限于此模块?3.我注意到他们示例中的某些Module类是静态的,而其他类则不是.这对范围界定有什么影响吗?4.我在哪里可以阅读更多内容以更好地理解Dagger的对象图.我需要更好地理解includes,inject,addsTo以及如何在ObjectGraph创建中使用它们等:

@dagger.Module( //
      includes = ActionBarModule.class,
      injects = MainView.class,
      addsTo = ApplicationModule.class, //
      library …
Run Code Online (Sandbox Code Playgroud)

object-graph dagger

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

如何在对象层次结构中找到循环?

有一个类Company,它引用了另一个Company表示的实例parent.比方说,有四家公司c1,c2,c3c4c2,c3,c4有母公司设置c1.

例如:

public class Company {
  public Company parent;

  public Company() { }
  public Company(Company parent) {
    this.parent = parent;
  }

  public static void main(String[] args) {
    Company c1 = new Company();
    Company c2 = new Company(c1);
    Company c3 = new Company(c1);
    Company c4 = new Company(c1);
}
Run Code Online (Sandbox Code Playgroud)

如果我们设置c2为以下的母公司c1:

c1.parent = c2;
Run Code Online (Sandbox Code Playgroud)

然后它将在公司层次结构中创建一个Cyclomatic …

java algorithm cyclomatic-complexity object-graph

4
推荐指数
1
解决办法
791
查看次数

Rails 3:转义字符(\)出现在JSON字符串的一部分中

任何人都知道为什么我的一些json元素被反斜杠(\)转义而其他人没有?

{"first":"John","last":"Smith","dogs":"[{\"name\":\"Rex\",\"breed\":\"Lab\"},{\"name\":\"Spot\",\"breed\":\"Dalmation\"},{\"name\":\"Fido\",\"breed\":\"Terrier\"}]"}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望他们中没有人逃脱......

这是通过覆盖as_json两个模型生成的.人has_many狗.

#models/person.rb
class Person < ActiveRecord::Base
  has_many :dogs

  def as_json(options={}) 
     {
       :first => first,
       :last => last,
       :dogs => dogs.to_json
     }
   end
end

#models/dog.rb
class Dog < ActiveRecord::Base
  belongs_to :people

  def as_json(options={})
    {
      :name => name, 
      :breed => breed
    }
  end
end
Run Code Online (Sandbox Code Playgroud)

serialization json ruby-on-rails object-graph

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

.NET Binary Serialize对象,引用其他对象...怎么了?

如果您有一个引用其他对象的对象实例A(例如实例B和C),并且您将A二进制序列化为文件,会发生什么?您现在有包含A,B和C的序列化数据吗?

它是如何工作的?如果我反序列化数据,我会得到什么?A,B和C ??

(随意包括内部工作原理解释).

.net object-reference binary-serialization object-graph

3
推荐指数
1
解决办法
2263
查看次数

在 ASP.Net Core 1.1 解决方案中检测到自引用循环

虽然我已经按照这里的文章进行操作,但我不断收到错误消息

检测到类型为“...”的属性“...”的自引用循环。路径“[4]....[0]”。

我已将此添加到我的Startup.cs

services.AddMvc()
    .AddJsonOptions(opt => 
        opt.SerializerSettings.ReferenceLoopHandling = 
            ReferenceLoopHandling.Ignore
    );
Run Code Online (Sandbox Code Playgroud)

还有什么可能导致参考循环错误?

编辑:在评论中回答问题......受影响的课程是:

public partial class GuidingSymptom
    {
        public GuidingSymptom()
        {
            VideosGuidingSymptoms = new HashSet<VideosGuidingSymptoms>();
        }
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        [MaxLength(70)]
        [Required]
        public string Name { get; set; }
        public string Description { get; set; }

        public int SeverityId { get; set; }
        public int? DiagnoseId { get; set; }

        [InverseProperty("GuidingSymptom")]
        public virtual ICollection<VideosGuidingSymptoms> VideosGuidingSymptoms { get; set; }
        [ForeignKey("DiagnoseId")] …
Run Code Online (Sandbox Code Playgroud)

c# json.net object-graph asp.net-core

3
推荐指数
1
解决办法
3812
查看次数

在javascript中从平面对象数组构建对象图

我有一个 javascript 对象数组,其中的对象如下所示:

itemId
名称
parentItemId <== 没有父项的顶级项目具有空值

我想构建一个图形,其中父项包含子项数组,如果适用,这些子项具有子项数组。

什么是解决这个问题的好方法?

javascript arrays object-graph

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