小编Car*_*com的帖子

指定构造函数类固定值和容器中的其他变量

我所拥有的是一个阶段,一些接口,以及注册部分.问题是我需要将一些参数定义为固定,将其他参数定义为变量.

interface IDoSomething {
 void DoWork();
}

interface IDoMath(){
 void DoWork();
}

interface IBehaviorBusiness{
 void Do();
}

class BehaviorBusiness {
 ...
 public BehaviorBusiness(IDoSomething doSomething, IDoMatch doMatch, string connection){};
 ...
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用windsor容器在声明中定义参数连接,IDosomethingIDoMatch从容器中取出?

 container.Register(
   Component.For<IDoSomething>()
   ...
 }

 container.Register(
   Component.For<IDoMatch>()
   ...
 );
Run Code Online (Sandbox Code Playgroud)

这是具体问题.

 container.Register(
   Component.For<IBehaviorBusiness>()
   .ImplementedBy<BehaviorBusiness>()
   .DependsOn(Dependency.OnComponent<IDoSomething, [default]>(),
              Dependency.OnComponent<IDoMatch, [default]>(),
              Dependency.OnValue("connection", connectionString))
    .LifeStyle.Transient
   );
Run Code Online (Sandbox Code Playgroud)

如果它存在,哪个是正确的语法?

c# asp.net-mvc castle-windsor

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

如何动态读取类XmlTypeAttribute以获取命名空间?

我需要XmlTypeAttribute从以下类中读取,以获取Namespace值:

<System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42"),  _
System.SerializableAttribute(),  _
System.Diagnostics.DebuggerStepThroughAttribute(),  _
System.ComponentModel.DesignerCategoryAttribute("code"),  _ 
System.Xml.Serialization.XmlTypeAttribute([Namespace]:="http://webservices.micros.com/ows/5.1/Availability.wsdl")>  _
Partial Public Class AvailabilityRequest
Inherits AvailRequestSegmentList

Private summaryOnlyField As Boolean

Private xsnField As System.Xml.Serialization.XmlSerializerNamespaces

'''<comentarios/>
<System.Xml.Serialization.XmlAttributeAttribute()>  _
Public Property summaryOnly() As Boolean
    Get
        Return Me.summaryOnlyField
    End Get
    Set
        Me.summaryOnlyField = value
    End Set
End Property
Run Code Online (Sandbox Code Playgroud)

使用以下代码,我可以获取System.SerializableAttribute的值,但我无法检索有关XmlTypeAttribute的信息.

var ar = typeof (AvailabilityRequest).GetType();
ar.GetCustomAttributes(true);
Run Code Online (Sandbox Code Playgroud)

更新2011.12.29

以下代码现在有效:

    var xmlAttribute = (XmlTypeAttribute)Attribute.GetCustomAttribute(
                          typeof(AvailabilityRequest),
                          typeof(XmlTypeAttribute)
                       );
   XNamespace ns = xmlAttribute.Namespace;
   ns.NamespaceName.Should().Be.EqualTo("http://webservices.micros.com/ows/5.1/Availability.wsdl");
Run Code Online (Sandbox Code Playgroud)

xml xml-serialization c#-4.0

3
推荐指数
1
解决办法
2046
查看次数