Tag: runtime

在C#中设置运行时的枚举值

有什么办法可以在运行时更改enum值吗? 例如,我有以下类型 enum MyType { TypeOne, //=5 at runtime TypeTwo //=3 at runtime } 我想在运行时将set 5设置为TypeOne ,将3设置为TypeTwo 。

如何通过动态reflection在运行时创建RelayCommand实例?

我正在WPF中构建MVVM应用程序,我将Menu绑定到MenuItem模型。 我的MenuItem类有以下属性: public class MenuItem { private List _Items; public MenuItem(string header, ICommand command) { Header = header; Command = command; } public MenuItem() { } public string Header { get; set; } public List Items { get { return _Items ?? (_Items = new List()); } set { _Items = value; } } public […]

什么是运行时主机?

运行时主机的确切定义是什么? 来自MSDN : 公共语言运行库旨在支持各种不同类型的应用程序,从Web服务器应用程序到具有传统丰富Windows用户界面的应用程序。 每种类型的应用程序都需要运行时主机来启动它。 运行时主机将运行时加载到进程中,在进程内创建应用程序域,并将用户代码加载到应用程序域中。 那么它是一个将运行时加载到另一个进程的进程吗? 如何在任务管理器中检查它?

在字符串变量中创建名称的对象实例

我不知道我问的问题是否可用,但我只是想知道它是否存在以及它是如何工作的。 所以这是我的问题: 我有自己的2-3个自定义模型类。 例如,客户,员工和产品。 现在我在一个字符串中有类名。 并且基于字符串中的类名,我必须创建它的对象并返回到VIEW。 我怎么能实现这个目标? 我知道IF ELSE声明的一个选项,但我想尝试更好的“ 动态 ”方式……

为什么这个generics场景会导致TypeLoadException?

这有点啰嗦,所以这是快速版本: 为什么这会导致运行时TypeLoadException? (并且编译器是否应该阻止我这样做?) interface I { void Foo(); } class C { public void Foo() where T2 : T1 { } } class D : C, I { } 如果您尝试实例化D,则会发生exception。 更长,更具探索性的版本: 考虑: interface I { void Foo(); } class C { public void Foo() where T2 : T1 { } } class some_other_class { } […]

你可以在运行时添加到枚举类型

如果我有枚举类型: Public enum Sport { Tennis = 0; Football = 1; Squash = 2; Volleyball = 3; } 我可以在运行时以某种方式添加: PingPong = 4

C#中数组的神奇之处是什么?

int[] a = new int[5]; string[] b = new string[1]; a和b的类型都inheritance自抽象的System.Array ,但是内置库中没有真正的类(似乎有一些运行时类型,你找不到int[]的类型defination类int[] )。 你能告诉我编译时会发生什么吗? 为什么他们(c#团队)制作这个设计(我的意思是为什么它不像Array ,而是他们使用带编译器魔法的抽象类)?

Canonical:如何从Excel VBA调用.NET方法

我找到了一种直接从VBA宏调用.NET 2代码的方法: Dim clr As mscoree.CorRuntimeHost Set clr = New mscoree.CorRuntimeHost clr.Start Dim domain As mscorlib.AppDomain clr.GetDefaultDomain domain Dim myInstanceOfDotNetClass As Object Set myInstanceOfDotNetClass = domain.CreateInstanceFrom(“SomeDotNetAssembly.dll”, “Namespace.Typename”).Unwrap Call myInstanceOfDotNetClass.ExecuteSomeDotNetMethod (为了使这段代码工作,我想在Excel中使用工具 – >引用…将对mscoree.tlb和mscorlib.tlb的引用添加到Excel VBA) 但这仅适用于.NET CLR 2程序集,最高可达.NET Framework 3.5版。 现在我需要使用.NET 4。 我已经了解.NET CLR4引入了另一种与版本无关的创建运行时实例的方法,我还发现了一个用C ++编写的相当简单的代码示例: http : //dev.widemeadows.de/2014/02/ 04 /托管最净-4-运行时在-一个天然过程/ 但我的Excel VBA技能还不足以将这几行代码转换为工作的VBA makro。 有人可以帮帮我吗?

在运行时更改自定义属性的参数

我需要在运行时更改属性的参数。 我将我的问题简化为简单的例子。 属性类: [AttributeUsage(AttributeTargets.Property)] public class MyAttribute : Attribute { public string Name { get; set; } } 简单的实体,它使用属性修饰了属性: public class MyEntity { [MyAttribute(Name=”OldValue1″)] public string Data1{ get; set; } [MyAttribute(Name = “OldValue2″)] public string Data2 { get; set; } } 我创建了MyEntity类的实例。 我可以更改对象属性的值,但是我不能在对象实体上更改属性的属性Name的值。 可能吗? 对象实体的属性值我可以用这部分代码改变: entityProp.SetValue(entity,”NewData”,null); 但我不知道如何更改对象实体上属性Name的值 这不起作用: attProp.SetValue(attribute,”NewData”,null); 属性的价值名称仍然是原创的。 这是所有测试代码。 谢谢你的帮助。 [TestMethod] public void […]