说我有一个简单的控制台应用程序:
public static class Program
{
private static ILog Log { get; set; }
public static void Main()
{
Log.Write("Hello, world!");
}
}
Run Code Online (Sandbox Code Playgroud)
我可以使用Autofac注入Log实例并确保Log属性在运行时不为null的最简单方法是什么?问题是我不能通过Main()传递它,我试图避免使用容器的服务位置(只是因为).
如何通过反射创建以下内容?
var t = new SomeFrameworkType<string, string>(s => MyClass.MyMethod(s));
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的内容:
var typeParamOne = Type.GetType("System.String");
var typeParamTwo = Type.GetType("System.String");
var myClass= Type.GetType("ConsoleApplication.MyClass");
var myMethod = myClass.GetMethod("MyMethod");
var type = typeof(SomeFrameworkType<,>);
var typeArgs = new[] {typeParamOne, typeParamTwo };
var constructed= type.MakeGenericType(typeArgs);
var instance = Activator.CreateInstance(constructed, myMethod);
Run Code Online (Sandbox Code Playgroud)
该示例就是这种方式,因为大多数所需信息将不为人知,并将作为参数提供。
现在,“实例”分配将引发异常。如何正确传递给构造函数?
另外,如何将结果转换为SomeFramework,以便在不知道类型参数的情况下可以使用它?
谢谢!
对于想象的层次结构建模为:
Tenancy
TenancyUser
TenancyUserAccounts
TenancyUserAccount
TenancyUserAccountItems
TenancyUserAccountAccountItem
Run Code Online (Sandbox Code Playgroud)
或者可能更简单地将层次结构实现为:
Tenancy
TenancyUser
TenancyUserAccount
TenancyUserAccountAccountItem
Run Code Online (Sandbox Code Playgroud)
我将如何在代码中将其表示为Akka.net中Actors的层次结构?
我来自DDD背景,我相信一旦我理解它,这是一个直接的飞跃.实际上,要问这样一个根本简单的问题感觉有点尴尬但是你去了.新的闪亮和所有.
谢谢!R.