c# - 在运行时将属性的属性从一个实例复制到另一个实例(不同类型)

标签 c# reflection reflection.emit

假设我有 2 个这样的类:

public class Foo
{
[Required]
public string Name {get;set;}
}

public class Bar 
{
// put here [Required] at run-time
public string Name {get;set;}
}

var foo = new Foo();
var bar = new Bar();
//copy the required from foo to bar

是否可以在运行时将属性从 foo 复制到 bar?

最佳答案

属性不附加到实例——它们附加到类型定义。

虽然您可以在运行时使用反射创建新类型,但您不能更改现有类型定义。

关于c# - 在运行时将属性的属性从一个实例复制到另一个实例(不同类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3037805/

相关文章:

c# - 如何仅在按值过滤时检索键

c# - 以空值将Powershell内容保存为JSON

c# - Type.GetType 无法从已加载的程序集创建类型

c# - 如何在DynamicMethod中调用DynamicMethod

c# - 如何发出对 [mscorlib]System.Console::Write(char) 的调用?

c# - 使用 propertyBuilder 在运行时向现有对象添加属性

c# - 挣扎于 ASP.NET MVC 自动脚手架模板

c# - 任何可用的数据表查询生成器,如 sql 查询生成器?

java - 使用 Java 反射动态创建 JSF 表单

java - 在 Java 中使用反射