小编rou*_*sis的帖子

git忽略异常

我有一个gitignore文件,使git忽略*.dll文件,这实际上是我想要的行为.但是,如果我想要一个例外(即能够提交foo.dll),我该如何实现呢?

git gitignore

295
推荐指数
8
解决办法
8万
查看次数

测试动态变量上的属性是否可用

我的情况很简单.在我的代码的某处我有这个:

dynamic myVariable = GetDataThatLooksVerySimilarButNotTheSame();

//How to do this?
if (myVariable.MyProperty.Exists)   
//Do stuff
Run Code Online (Sandbox Code Playgroud)

所以,基本上我的问题是如何检查(不抛出异常)我的动态变量上有某个属性可用.我可以做,GetType()但我宁愿避免,因为我真的不需要知道对象的类型.我真正想知道的是一个属性(或方法,如果让生活更轻松)是可用的.有什么指针吗?

c# dynamic dynamic-keyword

217
推荐指数
7
解决办法
11万
查看次数

在调试IIS时关闭Visual Studio Attach安全警告

使用Visual Studio 2008或2010时,每次附加到IIS w3wp.exe时都会出现附加安全警告,

你怎么转这个?

如果知道如何保持它的徘徊,这将是很酷的,因为这似乎在一段时间后超时.

顺便说一句:我添加了这个作为对以下答案的评论,我做的第一件事是尝试msdn文章 http://msdn.microsoft.com/en-us/library/ms241736.aspx,但这不起作用.

iis iis-7 visual-studio-2010 visual-studio-2008 visual-studio

159
推荐指数
5
解决办法
3万
查看次数

nuget'packages'元素未声明警告

不是showstopper但是在项目中使用nuget时,它会创建一个具有此形状的packages.config文件

<?xml version="1.0" encoding="utf-8"?>
<packages>
   ... your packages
</packages> 
Run Code Online (Sandbox Code Playgroud)

这会在VS中发出警告

The 'packages' element is not declared.
Run Code Online (Sandbox Code Playgroud)

问题的起源与我猜的xml声明有关.

另外我认为默认定义包不应该抛出警告.

有谁知道我应该改变它,所以我没有得到这个警告?(即使我只有在文件打开时才能看到它,它也会随着某些CA规则不断显示警告.)

xml visual-studio nuget

139
推荐指数
5
解决办法
10万
查看次数

Java中的布尔值和布尔值有什么区别?

我想了解Java Booleanboolean类型之间的区别,特别是它们与GWT有关.我知道方法不受支持,但如果可用,我想要更多信息.

java gwt boolean

56
推荐指数
5
解决办法
7万
查看次数

C#中的协同程序

我正在寻找在c#中实现协同例程(用户调度线程)的方法.使用c ++时我使用的是光纤.我在互联网上看到C#中不存在光纤.我想获得类似的功能.

有没有"正确"的方法在c#中实现协同程序?

我曾想过使用在调度程序线程上获取单个执行互斥锁+ 1的线程来实现它,该线程为每个协同程序释放这个互斥锁.但这似乎非常昂贵(它强制每个协程之间的上下文切换)

我也看过了yield迭代器的功能,但据我所知,你不能在内部函数中产生(仅在原始的ienumerator函数中).所以这对我有点好处.

c# coroutine fiber

40
推荐指数
4
解决办法
5万
查看次数

Java接口,AbstractClass和Enum命名约定

我们在团队中讨论了Java的代码约定:

  • interface:FooIFooFooInterface

  • abstract:FooAbstractFoo

  • Enums:FooFooEnum

我基本上试图把我的个人偏好放在一边:)所以非常欢迎支持一个或其他惯例的理由.

java naming-conventions

30
推荐指数
4
解决办法
2万
查看次数

ASP.NET MVC项目"此安装不支持"

我可以创建新的MVC项目并且它们可以工作和运行但是尝试打开现有项目根本不起作用

我尝试将以下项目类型更改为:

<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
Run Code Online (Sandbox Code Playgroud)

(这适用于将项目从Asp.Net MVC预览1迁移到预览2 BTW)

将参考更改为:

<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
    <SpecificVersion>False</SpecificVersion>      
</Reference>
Run Code Online (Sandbox Code Playgroud)

我从我创建的一个新项目中工具,所以我知道应该没问题(我甚至硬编码了相同结果的路径)

我仍然害怕

项目文件'..... csproj'无法打开.此安装不支持项目类型.

我也尝试devenv /setup并为Visual Studio安装了sp1

我试图打开的项目就是这个(一个使用ASP.NET MVC的网格的DevExpress示例)

.net asp.net-mvc projects-and-solutions visual-studio

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

反转多对多字典<键,列表<值>>

实际上我之前的问题让我思考,我意识到逆转一个Dictionary并不是微不足道的.什么是最优雅和可读的方式呢?

同样的情景学生多对多与班级

Dicitonary<int, List<int>>key是studentId的原始值,Value是List<int>包含classId并想要恢复的值Dictionary<classId, List<studentId>>

谢谢

更新:实际上我只是测试了Luke和Bruno的解决方案,并且他们返回了适当数量的分类,无论他们都拥有相同的学生,我会随着时间的推移进行更新.

c# dictionary

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

Code Contracts [Type]实现接口方法{Interface.Method}因此无法添加需求

我有以下场景:

public interface ISomething
{
    void DoStuff();
    //...
}

public class Something : ISomething
{
    private readonly ISomethingElse _somethingElse;
    //...

    public Something (ISomethingElse somethingElse)
    {
         Contract.Requires(somethingElse != null);
        _somethingElse = somethingElse;
    }

    public void DoStuff()
    {
        // *1* Please look at explanation / question below
        _somethingElse.DoThings();
    }
 }
Run Code Online (Sandbox Code Playgroud)

在第1行并且打开静态检查器时,我会收到一条警告,说明_somethingElse可能为空,如果我添加合同,它会给我错误

[Type]实现接口方法{Interface.Method}因此无法添加需求

这里最好的事情是什么?我看到的选项包括

  1. 一个保护条款,虽然看起来有点极端
  2. 一个 Contract.Assume
  3. 一个我没想过的隐藏的第三个选项

请注意readonly,在构造函数中设置值后,该字段是如此,因此无法更改.因此,代码合同的警告似乎有点无关紧要.

c# code-contracts

21
推荐指数
1
解决办法
4685
查看次数