小编edo*_*oft的帖子

如何从C#中的泛型方法返回NULL?

我有一个通用的方法与这个(虚拟)代码(是的我知道IList有谓词,但我的代码不使用IList但其他一些集合,无论如何这与问题无关...)

static T FindThing<T>(IList collection, int id) where T : IThing, new()
{
    foreach T thing in collecion
    {
        if (thing.Id == id)
            return thing;
    }
    return null;  // ERROR: Cannot convert null to type parameter 'T' because it could be a value type. Consider using 'default(T)' instead.
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个构建错误

"无法将null转换为类型参数'T',因为它可能是值类型.请考虑使用'default(T)'."

我可以避免这个错误吗?

c# generics

519
推荐指数
9
解决办法
17万
查看次数

找不到默认端点元素

我已经为web服务添加了代理到VS2008/.NET 3.5解决方案.构建客户端.NET时抛出此错误:

无法在ServiceModel客户端配置部分中找到引用合同"IMySOAPWebService"的默认端点元素.这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素.

搜索此错误告诉我在合同中使用完整的命名空间.这是我的带有完整命名空间的app.config:

<client>
  <endpoint address="http://192.168.100.87:7001/soap/IMySOAPWebService"
            binding="basicHttpBinding" bindingConfiguration="IMySOAPWebServicebinding"
            contract="Fusion.DataExchange.Workflows.IMySOAPWebService" name="IMySOAPWebServicePort" />
</client>
Run Code Online (Sandbox Code Playgroud)

我正在运行XP本地(我之所以提到这是因为一些谷歌点击提到win2k3)app.config被复制到app.exe.config,所以这也不是问题.

有线索吗?

wcf wcf-binding endpoint .net-3.5

361
推荐指数
14
解决办法
34万
查看次数

如何验证Windows服务是否正在运行

我在C#中运行了一个应用程序(在嵌入式XP上运行的2.0),它与作为Windows服务实现的"监视程序"进行通信.设备启动时,此服务通常需要一些时间才能启动.我想从我的代码中检查服务是否正在运行.我怎么能做到这一点?

c# windows-services watchdog

171
推荐指数
2
解决办法
16万
查看次数

XSD代码生成器的比较

我正在从xsd模式文件中进行代码生成方面的一些研究.我的要求:

  • 必须使用通用集合生成C#2.0代码(或更高版本).
  • 必须从xsd注释生成注释
  • 必须生成完全可序列化的代码.
  • 当从具有相同包含的多个xsd生成时,应该能够生成可恢复的基本类型.

(另请参阅我的其他问题:如何使用常见包含从xsd生成多个类?以及如何从wsdl中的xs:documentation标记生成注释?

我找到了以下选项:

  1. 使用xsd.exe(随SDK和Visual Studio提供)
  2. 来自Daniel Cazzulino的 XSDCodeGen
  3. Xsd2Code
  4. CodeXS
  5. XsdObjectGen由Microsoft提供
  6. XSDClassGen(似乎在行动中缺失)

我错过了吗?因为(1),(2)和(5)不生成2.0代码,并且我在从(3)序列化代码时遇到问题.生成代码时你会用什么?

c# xsd code-generation

76
推荐指数
2
解决办法
6万
查看次数

如何使用SQL Server Express安排每日备份?

我正在使用SQL server express(2005)作为后端运行一个小型Web应用程序.我可以使用SQL脚本创建备份,但是,我想每天安排这个.作为额外的选项(应该)我只想保留最后的X备份(显然是出于节省空间的原因)任何指针?

[编辑] SQL Server代理在SQL Server express中不可用...

backup scheduled-tasks sql-server-express

62
推荐指数
3
解决办法
24万
查看次数

使用CAST时,为什么30是VARCHAR的默认长度?

在SQL Server 2005中这个查询

select len(cast('the quick brown fox jumped over the lazy dog' as varchar))
Run Code Online (Sandbox Code Playgroud)

返回30作为长度,而提供的字符串有更多的字符.这似乎是默认的.为什么30,而不是32或2的任何其他权力?

[编辑]我知道在转换为varchar时我应该总是指定长度,但这是一个快速的让我们检查的查询.问题仍然存在,为什么30?

sql sql-server casting

47
推荐指数
3
解决办法
4万
查看次数

如何在c#中仅使用.net api压缩多个文件

我喜欢压缩在我的Web应用程序中动态创建的多个文件.这些文件应该压缩.为此,我不想使用任何第三方工具.就像在c#中使用.net api一样

c# compression zip

31
推荐指数
5
解决办法
6万
查看次数

如何在c#中访问父对象

我有一个"米"级."米"的一个属性是另一个叫做"生产"的类.我需要通过参考从生产类访问米级(额定功率)的属性.在仪表实例化时不知道powerRating.

我怎样才能做到这一点 ?

提前致谢

public class Meter
{
   private int _powerRating = 0; 
   private Production _production;

   public Meter()
   {
      _production = new Production();
   }
}
Run Code Online (Sandbox Code Playgroud)

c# oop parent

30
推荐指数
3
解决办法
9万
查看次数

SQL中这个嵌套的WHILE循环有什么问题

今天我遇到了一些奇怪的情况做了一些一次性的sql代码.这个嵌套循环似乎不运行外部循环:它打印(0,0),(0,1),(0,2)和(0,3)

declare @i int, @j int
select @i = 0, @j = 0
while @i < 3 begin
    while @j < 3 begin
        select @i as i, @j as j
        set @j = @j + 1
    end
    set @i = @i + 1
end
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗?

sql t-sql

19
推荐指数
2
解决办法
3万
查看次数

为什么Visual Studio中的F10(跳过)不起作用?

我在Visual Studio 2008中调试(web)项目.我正在打破一个断点.正如预期的那样,F10继续到下一行,但是下一个F10只是停止调试,代码继续而没有任何调试(比如按F5).为什么会这样?

  • 我试过'干净的解决方案'.
  • 其他断点有时(!)跳过,即使在相同的方法中

有线索吗?

debugging breakpoints visual-studio-2008

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