假设有两个.net项目不在同一解决方案下.ProjectA在solution1下,ProjectB在solution2下.ProjectA引用了ProjectB,ProjectB引用了ProjectA.ProjectA_Class和ProjectB_Class有两个类.ProjectA_Class创建ProjectB_Class的对象,ProjectB_Class创建ProjectA_Class的对象.
namespace ProjectB
{
public class ProjectB_Class
{
public ProjectB_Class()
{
ProjectA_Class projA = new ProjectA_Class();
}
}
}
namespace ProjectA
{
public class ProjectA_Class
{
public ProjectA_Class()
{
ProjectB_Class projB = new ProjectB_Class();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对循环依赖感到困惑.是不是它在两个类之间创建了循环依赖,尽管它们不在同一个解决方案中?我们知道如果这两个项目都在同一个解决方案中,Visual Studio将不允许我们在ProjectB中引用ProjectA,在ProjectA中引用ProjectB,因为它创建了循环依赖.它是不是在两个项目之间创建循环依赖,尽管它们不在同一个解决方案中?假设,ProjectA中有一个C类,它创建了ProjectB_Class的对象,而ProjectB_Class不使用任何C类实例.它不是循环依赖项,因为ProjectA和ProjectB都有相互引用吗?
更新1 您能解释循环依赖的条件吗?
.net c# circular-dependency design-principles circular-reference
我有一个模型:
public class FormCreateModel
{
public FormModel formInfo { get; set; }
public FieldModel fieldInfo { get; set; }
public InstitutionModel selectedInst { get; set; }
public FormTypeModel selectedFormType { get; set; }
public CategoryModel categoryInfo { get; set; }
public List<InstitutionModel> institutions { get; set; }
public List<FormTypeModel> FormTypes { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我为这个模型创建了一个强类型视图:
@using (Html.BeginForm())
{
<p>
@Html.LabelFor(lbl =>lbl.selectedInst.Institution_Name, "Institution Name :", new { @class="lblName"})
@Html.DropDownListFor(drpdown => drpdown.selectedInst.Institution_Name, new SelectList(Model.institutions.Select(inst => inst.Institution_Name)),"-- select Institution--", new { @class …Run Code Online (Sandbox Code Playgroud)