下面的
编辑: 我想从form1的构造函数中传递依赖项,而不是在上游硬编码它。
Class2
有一个需要在调用GetSomething
之前设置的属性。然而,因为我在Class1
的顶部访问了Class2
,所以当它到达Something
类时,该属性总是空值。我似乎无法想出如何更改我的代码以在使用属性之前设置它。有人能帮忙吗?编辑: 我想从form1的构造函数中传递依赖项,而不是在上游硬编码它。
public partial class form1
{
private static readonly ISomeConstructedClass someConstructedClass = Class1.SomeConstructedClass;
public form1()
{
someConstructedClass.SomeDependency = new SomeDependency();
someConstructedClass.Whatever();
}
}
public static class Class1
{
public static readonly ISomething something = (ISomething)Class2.GetSomething("something");
public static ISomeConstructedClass SomeConstructedClass
{
get
{
return something.SomeConstructedClass;
}
}
} .... }
public class Class2
{
public static ISomeDependency SomeDependency
{
get;
set;
}
public static GetSomething(string something)
{
switch(something)
{
case "something":
return new Something( SomeDependency );
}
}
}
public class Something : ISomething
{
public ISomeDependency SomeDependency
{
get;
set;
}
public Something(ISomeDependency someDependency)
{
SomeDependency = someDependency;
}
}