小编Ric*_*ard的帖子

使用Autofac将依赖项注入控制台应用程序的Main入口点

说我有一个简单的控制台应用程序:

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()传递它,我试图避免使用容器的服务位置(只是因为).

c# autofac

6
推荐指数
1
解决办法
6285
查看次数

如何调用Activator.CreateInstance,将方法作为构造方法参数传递?

如何通过反射创建以下内容?

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,以便在不知道类型参数的情况下可以使用它?

谢谢!

c# reflection system.reflection

5
推荐指数
1
解决办法
3373
查看次数

如何在Akka.Net中建模DDD业务对象结构?

对于想象的层次结构建模为:

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.

akka.net

2
推荐指数
1
解决办法
568
查看次数

标签 统计

c# ×2

akka.net ×1

autofac ×1

reflection ×1

system.reflection ×1