我有个接口。接口名是IQueue。我还有具体的课程。他们的名字是MyMessage1和MyMessage2。
public interface IQueue
{
}
public class MyMessage1 : IQueue
{
public string Message { get; set; }
public DateTime PublishedDate { get; set; }
}
public class MyMessage2 : IQueue
{
public string Name { get; set; }
}
我正在使用反射从IQueu
我正在尝试编写一个泛型方法,它可以接受任何类型并创建它的实例,以便以后可以使用它:
我想要动态生成的类的示例:
public class bb_ColorScaleCriteriaTypes
{
public Dictionary<string, int> Types { get; set; }
public bb_ColorScaleCriteriaTypes()
{
this.Types = new Dictionary<string, int>()
{
如何为自定义对象创建存储库对象?当我创建repo对象时,我不知道CustomEntity类型。
我正在尝试下面的内容。
var _unitofWork = new UnitOfWork();
var objRepository = new Repository<Type.GetType("EntityName")>(_unitofWork);
有人能帮上忙吗?
我可以在本地创建COM对象。
var infsrv = new InfoServ.TInfoServerClass(); //COM object
infsrv.RunBsScript(bssScriptName, strOfParam); //calling method
但是我需要在服务器上创建COM对象,所以代码是:
var myGuid = new Guid("00C4261D-0B2B-4230-A2CA-A9F4F2A46452");
var myType = Type.GetTypeFromCLSID(myGuid, servername);
InfoServ.T
我想动态地创建一个模型的实例并返回如下所示的结果。我该怎么做?
public JsonResult GetDetail(string model, int id)
{
Type type = Type.GetType("MyProject.WebApplication.Models.MyProjctContext." + model);
var result = (type)Activator.CreateInstance(type).Find(id);
return Json(new
{
data =
我可以创建一个泛型类,它的模板参数是C#类型,然后在泛型类中使用与该C#类型对应的System.Type信息:
public class Generic<T>
{
public bool IsArray()
{
return typeof(T).IsArray();
}
public T Create()
{
return blah();
}
}
Generic<int> gi = new Generic<int>();
Debug.WriteLine("int isar
有没有办法在使用Relection.Emit动态创建的类上使用扩展方法?例如:
class somewhere
{
somewhere()
{
// define the type here using ReflectionEmit, etc.
Type tableType = CreateTableType(...table parameters...);
var table = Activator.CreateInstance(tableType);
table.Shuffle();
我正在尝试使用反射创建一个对象的通用列表。下面的代码引发错误,无法创建接口.的实例。我可以将IList更改为List,它可以正常工作,但我想知道是否有方法可以使用IList。
var name = typeof (IList<T>).AssemblyQualifiedName;
Type type = Type.GetType(name);
var list = Activator.CreateInstance(type);
昨晚,我了解了的这一奇妙操作:使用对现有实例的引用生成某类集合的一种非常酷的方法。
我的问题是,尽管在显式创建实例时这是可行的,但是如果使用激活器从Type实例化,则生成的集合类型是不准确的。
class TestCollectionContent
{
public int id { get; private set; }
}
[Test]
public void TestListCastCreation()
{
var explicitCast = new TestCollectionContent ();
我有一些代码来加载一个程序集并获取所有类型,这些类型实现了一个特定的接口,如下所示(假设asm是一个有效的已加载程序集)。
var results = from type in asm.GetTypes()
where typeof(IServiceJob).IsAssignableFrom(type)
select type;
现在我被卡住了:我需要创建这些对象的实例,并调用对象上的方法和属性。并且我需要将对创建的对象的引用存储在一个数组中,以供以后使用。
我正在尝试基于以下类中的属性类型动态创建一个通用字典:
public class StatsModel
{
public Dictionary<string, int> Stats { get; set; }
}
让我们假设Stats属性的System.Type被分配给一个变量'propertyType‘,并且如果该类型是一个泛型字典,则IsGenericDictionary方法返回true。然后,我使用Activator.CreateInstance动态创建相同类型的泛型字典实例:
// Note: property is a System.Reflection.
我有以下接口和实现:
public interface IRepository<T>
{
IList<T> GetAll();
}
internal class TrendDataRepository : IRepository<TrendData>
{
public IList<TrendData> GetAll()
{
//.. returns some specific data via Entity framework
}
}
我将有多个实现,它们都通过实体框架返回不同的数据。在某些情况下
我动态创建了一个类(发现它是的),但是我不明白为什么我不能用它来创建一个列表?
var myType = CompileResultType();
var myObject = Activator.CreateInstance(myType);
var myList = new List<myObject>();
// Error: The type or namespace name 'myObject'
// could not be found (are you missing a using directive
// or an assembly re
我通过反射获取properties中T的所有属性,并通过迭代检查它们是否为类。如果它是一个类,那么我会在泛型参数中发送它的类型,以创建以下对象:var myOrm = new MyORM<type1>();。但是我得到了错误的行。下面是我的代码:
var type = typeof(T);
var properties = type.GetProperties();
foreach (var property in properties)
{
if(property.PropertyType.IsClass)
{
假设我们有一些类
class Class1{ }
class Class2{ }
class Class3{ }
我有一个Type变量
Type t = /*some type unknown at compile-time*/;
变量t为Class1、Class2或Class3。我想创建一个该类的实例。据我所知,我可以使用以下语句:
object instance = Activator.CreateInstance(t);
但我收到了一个对象。问题是:如何将这个对象转换为变量t中的类型。或者,有些人可以建议一种解决方法。谢谢
先决条件
.NET环境
具有接口Common的IModule程序集
Main项目,引用Common
Implementor项目,引用Common,但在构建所有东西时没有从Main引用,Common.dll同时存在于Main和Implementor中。
现在,Main项目尝试在运行时加载实现IModule的类。到目前为止,我能做到的是:
Dim asm = Assembly.LoadFrom(asmFile)
For Each asmType in asm.GetExportedTypes()
If asmType.IsClass AndAlso
a
我有这个泛型类:
public static class ListBuilder<T> where T : class
{
public static void Build(XmlElement element, string elementeName, ref List<T> lista)
{
XmlNodeList nl = element.GetElementsByTagName(elementeName);
if (nl != null && nl.Count > 0)
{
你好,我的代码中有一个问题,我必须在运行时创建一个类的实例。类继承自泛型接口,这种类型的类存储在字典中。然后,在运行时,使用这个新实例类的方法。
这是我的代码:
类
public interface ILetters<T> where T : Item
{
Item SearchItem(T item);
}
Item是Absract类、ItemA、ItemB、ItemC继承而来。
子类继承自ILetters,让我们只说它们不同地实现了SearchItem()
public class ClassA : ILetters<ItemTypeA
我有一个应用程序,它创建和导出一个.dll,其中包含WPF表单的自定义图标。
我正在尝试创建一种探索性测试,在那里我可以打开一个应用程序,并选择一个.dll。一旦选择了.dll,它就会在其中查看并创建每个类的实例,然后将这些对象添加到表单中。
我希望能够这样做,作为一个快速测试,以确保在发送给客户之前,.dll中的所有图标都能正确显示。
我能够通过以下方式获取.dll中的所有类型:
var assembly = Assembly.LoadFrom(fileDialog.FileName);
foreach (var type in assembly.DefinedTypes)
{
Co
我正在通过反射加载一个.NET程序集,并获得它包含的所有类(目前是一个)。在此之后,我尝试将类转换到一个接口,我100%确信类实现了,但我收到了这个异常:无法将System.RuntimeType类型的对象转换为MyInterface类型
MyDLL.dll
public interface MyInterface
{
void MyMethod();
}
MyOtherDLL.dll
public class MyClass : MyInterface
{
public void MyMethod()
{
...
}
}
public cla