小编use*_*218的帖子

Gson自动添加classname

假设我有以下课程:

public class Dog {
    public String name = "Edvard";
}

public class Animal {
    public Dog madDog = new Dog();
}
Run Code Online (Sandbox Code Playgroud)

如果我通过Gson运行它,它会将其序列化如下:

GSon gson = new GSon();
String json = gson.toJson(new Animal())

result:
{
   "madDog" : {
       "name":"Edvard"
   }
}
Run Code Online (Sandbox Code Playgroud)

这非常好,但我想用Gson自动为所有类添加className,所以我得到以下结果:

{
   "madDog" : {
       "name":"Edvard",
       "className":"Dog"
   },
   "className" : "Animal"
}
Run Code Online (Sandbox Code Playgroud)

有谁知道这是可能的某种拦截器或与Gson的东西?

java gson

13
推荐指数
2
解决办法
8384
查看次数

命名空间中的类声明

是否可以在C#中声明一个只在其名称空间中使用的类?

例:

namespace a
{
    public class Dog
    {
        public void sayHello()
        {
            System.Console.WriteLine('hello');
        }
    }
}

namespace b
{
    public class DogWalker        
    {
        public void Walk() 
        {
            Dog dog = new Dog();
            dog.sayHello();
        }
    }
}

namespace a
{
    public class DogWalker
    {
        public void Walk() 
        {
            Dog dog = new Dog();
            dog.sayHello();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的情况下,命名空间b中的DogWalker应该在编译时抛出错误消息,但是应该允许命名空间a中的DogWalker,因为它在与Dog相同的命名空间中.

如果有人能指出正确的方向,我将不胜感激.

.net c# namespaces

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

Spring autowire/Java

如果我有两个类,如:

Class A {
     public String importantValue = "stringvalue";

     @Autowire
     public B b;
}

@Component
@Scope("prototype");
Class B {
     // This should be set automatically
     // from IOC Container upon injection.
     public String importantValueFromA;
}
Run Code Online (Sandbox Code Playgroud)

这甚至可能吗?一旦B类被注入A,它应该自动设置B中的值.

java spring autowired

0
推荐指数
1
解决办法
395
查看次数

标签 统计

java ×2

.net ×1

autowired ×1

c# ×1

gson ×1

namespaces ×1

spring ×1