gpt4 book ai didi

c# - 动态传递对象类型

转载 作者:行者123 更新时间:2023-11-30 14:35:16 27 4
gpt4 key购买 nike

我有这段代码,在 using 中有 [Ent]

 public static void Retion()
{

using (Ent entitiesContext = new Ent())
{...}
{

我需要像这样动态地传递 [Ent]:

 public static void Retion(Type ds)
{

using (ds entitiesContext = new ds())
{...}
{

这当然不行。如何更改它以便我可以动态传递它?

最佳答案

也许通过泛型:

public static void Retion<T>() where T : IDisposable, new()
{
using (T entitiesContext = new T())
{...}

然后 Retion<Ent>()

请注意,用 entitiesContext 做任何有用的 ,您可能还需要一些基类约束,即

public static void Retion<T>() where T : DataContext, new()
{
using (T entitiesContext = new T())
{...}

当然,这与:

public static void Retion(Type type)
{
using (DataContext entitiesContext =
(DataContext)Activator.CreateInstance(type))
{...}

关于c# - 动态传递对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12495441/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com