小编Ale*_*lex的帖子

如何在TFS中使用blame功能?

你如何在TFS中使用责备功能?

tfs

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

C#中是否有方法来检查字符串是否是有效的标识符

在Java中,有所谓的方法isJavaIdentifierStartisJavaIdentifierPart对可用于判断一个字符串是一个有效的Java标识,像这样的字符类别:

public boolean isJavaIdentifier(String s) {
  int n = s.length();
  if (n==0) return false;
  if (!Character.isJavaIdentifierStart(s.charAt(0)))
      return false;
  for (int i = 1; i < n; i++)
      if (!Character.isJavaIdentifierPart(s.charAt(i)))
          return false;
  return true;
}
Run Code Online (Sandbox Code Playgroud)

C#有这样的东西吗?

c# identifier

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

wcf将enum反序列化为字符串

我正在尝试使用WCF使用RESTful Web服务.我无法控制Web服务的格式,所以我必须在这里和那里做一些解决方法.然而,我似乎无法解决的一个主要问题是如何使WCF将枚举反序列化为字符串.

这是我的代码(显然名称已更改):

[DataContract]
public enum Foo
{
    [EnumMember( Value = "bar" )]
    Bar,

    [EnumMember( Value = "baz" )]
    Baz
}

[DataContract]
public class UNameIt
{
    [DataMember( Name = "id" )]
    public long Id { get; private set; }

    [DataMember( Name = "name" )]
    public string Name { get; private set; }

    [DataMember( Name = "foo" )]
    public Foo Foo { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

这是反序列化失败的返回数据:

{
     "id":123456,
     "name":"John Doe",
     "foo":"bar"
}
Run Code Online (Sandbox Code Playgroud)

最后,抛出异常:

反序列化Service.Foo类型的对象时出错.值'bar'无法解析为'Int64'类型.

我不想切换到使用XmlSerializer,因为在它的许多其他缺点中,它不会让我在属性上拥有私有的setter.

如何使WCF(或者,DataContractSerializer)将我的枚举视为字符串值?

编辑:这似乎是不可能的,行为是它的设计方式.谢谢微软,不给我们选择,不得不诉诸黑客.按照somori建议的方式这样做似乎是获得带有JSON和WCF的字符串枚举的唯一方法.

.net c# wcf enums datacontractserializer

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

Silverlight中的DataTemplate.DataType替代方案

我有一个属性视图模型Fields这是一个ObservableCollection<FieldVM>.在使用此属性的视图中,我有ItemsControl这样的:

...
<ItemsControl ItemsSource="{Binding Fields}" />
...
Run Code Online (Sandbox Code Playgroud)

FieldVM是一个抽象类,由TextFieldVM和类实现EnumFieldVM.在运行时,这些FieldVM实现添加到Fields属性中,我希望它们在我的视图中显示其关联的视图.

在WPF中,这样做很简单,我一直这样做.您只需在适当的资源字典中执行此操作,一切都按预期工作:

<DataTemplate DataType="{x:Type vm:TextFieldVM}">
    <v:TextFieldView />
</DataTemplate>

<DataTemplate DataType="{x:Type vm:EnumFieldVM}">
    <v:EnumFieldView />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

现在,我第一次在Silverlight工作,我预计我可以做同样的事情,但DataTemplate没有DataType属性.我很难过.什么是Silverlight这样做的方式?

.net silverlight wpf

14
推荐指数
3
解决办法
6718
查看次数

PHP仅显示重要(非零)小数

在PHP中(使用内置函数)我想转换/格式化一个带小数的数字,这样只显示非零小数.然而,我的另一个要求是,如果它是一个没有小数值的数字,我仍然希望显示为零.例子:

9.000 -> 9.0
9.100 -> 9.1
9.120 -> 9.12
9.123 -> 9.123
Run Code Online (Sandbox Code Playgroud)

rtrim($value, "0")差不多了.rtrim的问题在于它离开9.0009..sprintf()看起来像是一个候选人,但我不能让它有一个可变的小数.number_format()服务于不同的目的,这些都是我能想到的......

再次,我想指出我不是在寻找你自己的解决方案,我正在寻找一种使用内部PHP功能来实现这一目标的方法.我可以编写一个能够自己轻松完成此功能的函数,所以请保持这样的答案.

php numbers

14
推荐指数
4
解决办法
7408
查看次数

更改鼠标上的周围边框样式

我有一个GridBorder它周围.鼠标悬停在上面Grid,我想改变它的样式Border.我该怎么做呢?这是我尝试过的,到目前为止没有任何成功:

<Border Name="Border" BorderBrush="Transparent" BorderThickness="1" CornerRadius="2">
    <Grid>
        <Grid.Style>
            <Style TargetType="{x:Type Grid}">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter TargetName="Border" Property="BorderBrush" Value="#FFB9D7FC" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Grid.Style>

        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>

        ...
    </Grid>
</Border>
Run Code Online (Sandbox Code Playgroud)

在尝试构建此XAML时,我收到错误

无法在样式设置器上设置TargetName属性.

但我想不出有任何其他办法可以做到这一点.非常感谢帮助.使用任何代码隐藏是不可能的.

.net wpf xaml styles mouseevent

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

没有Aero Glass的DwmExtendFrameIntoClientArea

使用DwmExtendFrameIntoClientArea启用Aero Glass 的API调用可以正常工作.但是,我希望它也可以在Aero Glass被禁用时工作,就像它在Windows控制面板中的工作方式一样:

在此输入图像描述

注意框架是如何扩展到客户区的,即使Aero Glass被禁用了?当我DwmExtendFrameIntoClientArea在我的应用程序中进行API调用时,返回的HRESULT肯定不成功,我的应用程序最终看起来像这样:

http://img197.imageshack.us/img197/9629/clientapplication.png

通常,启用Aero Glass后,边框会向下延伸到导航按钮下方,就像在控制面板中一样.我该怎么做呢?DwmExtendFrameIntoClientArea显然不起作用.

顺便说一句,如果它是相关的,我的应用程序是一个WPF应用程序.

.net c# wpf aero dwm

11
推荐指数
2
解决办法
6283
查看次数

如何在.NET程序集中安全地存储加密密钥

为了防止有人轻易抓取我的数据,我将来自我服务的数据缓存为加密文件(基本上是复制保护).

但是,为了做到这一点,我必须将加密密钥存储在.NET程序集中,以便能够加密和解密这些文件.

知道像Red Gate的.NET Reflector这样的工具可以直接拉出我的钥匙,我觉得这不是一种非常安全的方式......有没有最好的做法呢?

.net encryption compact-framework key-storage

10
推荐指数
1
解决办法
3672
查看次数

使用$ expand请求控制返回的内容

因此,使用the ODataController,你可以控制返回的内容,如果有人这样做/odata/Foos(42)/Bars,因为你会被调用,FoosController所以:

public IQueryable<Bar> GetBars([FromODataUri] int key) { }
Run Code Online (Sandbox Code Playgroud)

但是,如果你想控制什么时候返回什么/odata/Foos?$expand=Bars呢?你怎么处理那件事呢?它会触发此方法:

public IQueryable<Foo> GetFoos() { }
Run Code Online (Sandbox Code Playgroud)

而且我认为它只是.Include("Bars")IQueryable<Foo>你返回时做的,所以...我如何得到更多的控制?特别是,我如何以OData不破坏的方式进行操作(例如$ select,$ orderby,$ top等继续工作.)

c# odata asp.net-web-api-odata asp.net-web-api2

9
推荐指数
1
解决办法
791
查看次数

限制SSL连接的带宽

问了一个关于如何限制python上传的问题,这让我得到了这个答案,在那里我被告知了一个叫做的小帮助库socket-throttle.对于常规HTTP而言,这一切都很好,而且对于套接字的大多数普通用途也可能.但是,我正在尝试限制SSL连接,并尝试socket-throttle与库存SSL库(隐式使用requests)结合使用会导致库中的异常深入:

  File "***.py", line 590, in request
    r = self.session.get(url, headers=extra_headers)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 394, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 382, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 485, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 324, in send
    timeout=timeout
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 478, in urlopen
    body=body, headers=headers)
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 285, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python2.7/httplib.py", line 973, in …
Run Code Online (Sandbox Code Playgroud)

python sockets ssl throttling python-requests

8
推荐指数
1
解决办法
1313
查看次数