并感谢您的帮助.
我如何从一个未知的Generic.List类型的方法返回.
public void Main()
{
List<A> a= GetData("A");
}
public List<T> GetData(string listType)
{
if(listType == "A")
{
List<A> a= new List<A>()
...
return a;
}
else
{
List<B> b = new List<B>()
return b;
}
}
Run Code Online (Sandbox Code Playgroud)
在下面的示例中,我收到类似于以下内容的错误:无法转换List<A>
为List<T>
这可能吗?错误发生在'return a;'上 代码行.
另外,我需要做些什么来确保线路上不会发生错误:
List<A> a= GetData("A");
Run Code Online (Sandbox Code Playgroud)
谢谢,史蒂文
您好,感谢您的帮助.
我希望找到一个开源的.net公共库,但我很难找到一个.
我正在寻找的东西包含:记录,缓存,字符串操作,配置读取,分机?!?
你知道这样的事情是否存在,或者这更像是我自己需要创造的东西吗?
谢谢.
我有一个客户端要求我的required
字符串元素nillable="false"
,目前wsdl中的所有字符串都会出来nillable="true"
,IE:
<xs:element name="username" nillable="true" type="xs:string" />
Run Code Online (Sandbox Code Playgroud)
我怎么能改变nillable="false"
?!?我会就如何做到这一点提出任何建议?我是第一个碰到这个的人吗?
我有一个wcf Web服务,我需要为客户端提供wsdl文件.
以前我在.dll上使用了svcutil,一切都很好.
但是,最近我将工厂实现为Flaten wsdl文件(re:http://wcfextras.codeplex.com/ ).
我的问题是这样的:无论如何使用.svc上的svcutil来提取Flattened .WSDL文件,或者当它在本地webdev服务器上运行以检索.WSDL文件时可能以某种方式启动Web服务?
据我所知,如果我要导航到我的本地Web开发服务器(http:// localhost:2916/Service.svc?wsdl),如果我要查看源并将其保存为.wsdl,这是错了,不会提供所有相关信息.
注意:请参阅下文,了解如何在.svc文件中使用Factory.
<% @ServiceHost Factory="CompanyName.ServiceModel.Extensions.Description.FlatWsdlServiceHostFactory" language=c# Service="CompanyName.WebServices.Service"%>
Run Code Online (Sandbox Code Playgroud)
谢谢,史蒂文
您好,感谢您的帮助.
使用.Net 3.5 C#;
假设我有大约10种方法都遵循相同的模式
以3为例:
public Customer CreateCustomer(Customer c) { .. }
public Car CreateCar(Car c) { .. }
public Planet CreatePlanet(Planet p) { ..}
Run Code Online (Sandbox Code Playgroud)
每种方法的内部逻辑具有完全相同的模式.
IE:
public Customer CreateCustomer(Customer c)
{
Log.BeginRequest(c, ActionType.Create);
Validate(customer);
WebService.Send(Convert(c));
Log.EndRequest(c, ActionType.Create);
}
public Car CreateCar(Car c)
{
Log.BeginRequest(c, ActionType.Create);
Validate(c);
WebService.Send(Convert(c));
Log.EndRequest(c, ActionType.Create);
}
Run Code Online (Sandbox Code Playgroud)
CreatePlanet和其他7种方法也是如此.
这些方法可以重写,它们都遵循相同的模式,我觉得我错过了一些东西......是否有另一层抽象可以衍生出来?
问题:如何重写以利用适当的架构模式?
谢谢,史蒂文
并感谢您的帮助
对于:
public abstract class EntityBase
{
protected void Create(EntityBase c)
{
Log.Audit(c);
}
}
public class Customer : EntityBase
{
public void CreateCustomer(Customer c)
{
Create(c);
}
}
}
public class Car : EntityBase
{
public void CreateCar(Car c)
{
Create(c);
}
}
}
Run Code Online (Sandbox Code Playgroud)
对于上面的示例1)您将如何实现方法签名:Log.Audit(c);
2)在方法Audit(c)中,我们需要将c转换为适当的类型,并遍历整个对象的属性以进行审计.如何实现这一目标.我在想......
public Audit(T t)
{
switch (t.GetType())
{
case Customer:
//Audit Customer
Audit(<Customer> t);
break;
case Car:
//Audit Car
Audit(<Car> t);
}
}
Run Code Online (Sandbox Code Playgroud)
只是一个猜测,任何帮助都会很棒.
注意:如果您能想出更好的方法来构建此方法,请告诉我们.
再次感谢.史蒂芬