c#如何根据指定变量来实例化对象?

author author     2023-05-08     672

关键词:

我有一个方法,方法的参数约束了传入的参数必须实现某个接口。我想在这个方法里面从新创建实例化一个以当前参数类型的实例 该如何操作

class Program

static void Main(string[] args)




static void C(IA a)

//我需要在这里从新创建一个 a类型的实例



interface IA

int Id get; set;


public class B:IA

public int Id get; set;

有两个函数可以动态创建实例,下面的b和c都是object类型,使用的时候强制转换就可以了,如果你在编译的时候不确定具体类型可以使用dynamic关键字声明一个动态变量如 dynamic d=b;然后使用d执行你的操作。编译器编译期间不会检查dynamic关键字修饰的成员,如果你的代码有错误会在运行时报错
static void C(IA a)

//我需要在这里从新创建一个 a类型的实例
Type t = a.GetType();
var b = System.Activator.CreateInstance(a.GetType());
var c = t.Assembly.CreateInstance(t.Name);
参考技术A static void C<T>(IA a) where T : IA, new()

new T();
//我需要在这里从新创建一个 a类型的实例
本回答被提问者采纳
参考技术B static void C<T>(IA a) where T : IA, new()

new T();
//我需要在这里从新创建一个 a类型的实例

c#已知有一个和类名相同的字符串str,如何根据str来获取这个类?

C#,现在我有一个类A,我想根据这个类名所对应的字符串"A"来,获取这个类。请教有什么方法可以实现?使用反射技术来实现你的需求如果你要获取到这个类的对象实例可以这么做以String类为例子stringstr="System.String"... 查看详情

c#为啥实例化对象?啥情况下实例化对象?

...把现实中具备共性的东西全部抽象成类型,然后程序就能根据你抽象定义好的这个类型,来按照你的指令,实例化成一个一个具体的东西。比如,我们把书当成一个类型(Book),它们有共性,比如名字(Name),作者(Author),价格(Price)... 查看详情

c#如何封装字段

在C#中选择重构--〉封装字段只能一次封装一个字段如何一起封装多个字段?????我是说在将多个字段封装成属性能不能一起封装??1.字段的封装:分别用get和set对字段进行赋值和访问,提高字段的安全性。2.静态字段和静... 查看详情

c#实例化内存分配问题

...是126吗?我的问题是当A被实例化两次,a变量是在内存中如何分配的??都分配在堆栈中吗??首先,堆和栈是两码事。堆(heap)主要用于动态内存分配,而栈(stack)主要是用于函数内自动变量的空间分配。在C#中,任何引用... 查看详情

在 Unity C# 中实例化游戏对象列表

...bjectsinUnityC#【发布时间】:2017-11-2519:58:00【问题描述】:如何使用c#在Unity3D中实例化GameObject列表?我在检查器窗口中手动填充预制件列表。下面是我在Deck.cs中编写的代码,但我得到“对象引用未设置为对象的实例”。如果你有... 查看详情

static静态变量

...象来访问(但静态方法可以)。为了兼容PHP4,如果没有指定访问控制,属性和方法默认为公有。由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。静态属性不可以由对象通过->操作符来访问。用静... 查看详情

c#关于构造函数问题关于对象实例化

...经在某处实例化过了,否则在这里引用它的img属性(或img变量,因为img也可能是一个成员变量)就不对。如果GamePage是一个属性,那它肯定会返回一个已经实例化的对象,且这个对象有一个img成员,这里才能引用这个img成员。这... 查看详情

通过 id 实例化 dto 对象,其中对象作为有效负载 C#

...在是否插入或更新取决于在有效负载数据中接收到的id。如何实例化具有id值的对象。任务控制器:asyncTask<Response<Req 查看详情

如何从类内实例化的对象访问私有变量

】如何从类内实例化的对象访问私有变量【英文标题】:Howtoaccessprivatevariablefromobjectinstantiatedinsideclass【发布时间】:2016-06-1122:29:10【问题描述】:我正在尝试更改对象内部类的私有变量,该对象在该类内部初始化。我的意图可... 查看详情

c#的winform怎么根据控件的名字获取控件属性?

...的Form类实例化对象作为参数传到你new的新Form中。C#实现根据指定容器和控件名字获得控件的方法,在进行C#应用程序设计时有一定的借鉴价值。分享给大家供大家参考借鉴。具体实现方法如下:功能代码如下:1、///<summary>2... 查看详情

c#中类的创建和实例化

C#中,实例化就是创建对象的过程,使用关键字new来创建。    在看C#视频中遇到这么一个例子,就是更改对象的密码。我们就通过这个例子来理解一下类的创建和实例化。    1、首先要声明一个能判... 查看详情

为啥 C# 公共静态变量不需要实例化?

】为啥C#公共静态变量不需要实例化?【英文标题】:WhyC#publicstaticvariabledoesn\'tneedinstantiation?为什么C#公共静态变量不需要实例化?【发布时间】:2021-11-2313:38:52【问题描述】:我是一个裸机C微控制器人,现在正在钻研OOP领域,... 查看详情

c#如何根据自定义变量来生成属性getset

c#如何根据自定义变量来生成属性getset还能不能介绍一下,其他的一些类似操作!在VS2005编器中输入prop ,然后按两个键盘上的Tab键,就会生成这样的内容privateintmyVar;publicintMyPropertygetreturnmyVar;setmyVar=value;并且首先是privateintmyVar;... 查看详情

如何使用非常量值来实例化一个类的多个对象?

】如何使用非常量值来实例化一个类的多个对象?【英文标题】:HowcouldIuseanonconstantvaluetoinstantiatemultipleobjectsofaclass?【发布时间】:2013-05-0709:02:22【问题描述】:例如,我正在编写一个战斗模拟器,我想为每个回合实例化一个对... 查看详情

c++只能实例化1个对象的类

...啦实例化对象是指是指用这个类来定义一个具体的事物.如何确保它的实例化对象只得一个?可以通过使用静态变量的办法在类中加一个静态变量,然后在类的构造函数中做一下判断就好了classaa()statica=0;if(a==0)初始化对象;else不能... 查看详情

在asp.net开发网站过程中总会遇到未将对象引用到实例化这样的错误我是初学者请问该怎么办

...组对象a了。对于a,你可以这样理解,a是一个数组对象的变量(即这个变量是一个对象类型的),但要使用这个对象变量还要将这个变量实例化。就好像我们定义“凡是能自己发光的天体都叫做恒星”-----这就是定义一个对象(... 查看详情

为啥在 C# 中实例化 COM 对象会引发异常

】为啥在C#中实例化COM对象会引发异常【英文标题】:WhydoesinstantiatingCOMobjectinC#throwexception为什么在C#中实例化COM对象会引发异常【发布时间】:2020-03-3119:50:04【问题描述】:我正在尝试在我用C#(.net4.7.2)编写的测试程序中实例化... 查看详情

c#中静态方法和实例化方法的区别

...的方法关于线程安全:静态方法只有一个实例,当有静态变量的时候,对于高并发的时候,并发的所有执行都走那个方法,静态变量的值就会发生改变,导致出现问题;当然并发不安全跟方法本身没关系,跟共享的那个资源有关... 查看详情