小编Rob*_*vey的帖子

有没有办法为整个应用程序设置文化?所有当前线程和新线程?

有没有办法为整个应用程序设置文化?所有当前线程和新线程?

我们将文化的名称存储在数据库中,当我们的应用程序启动时,我们就会这样做

CultureInfo ci = new CultureInfo(theCultureString);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
Run Code Online (Sandbox Code Playgroud)

但是,当然,当我们想要在新线程中做某事时,这会"丢失".有没有办法设置CurrentCultureCurrentUICulture整个应用程序?那么新线程也会获得这种文化?或者,只要创建了一个我可以连接的新线程,就会触发某个事件?

c# multithreading cultureinfo

173
推荐指数
5
解决办法
16万
查看次数

使用单一方法的类 - 最佳方法?

假设我有一个用于执行单个功能的类.执行该功能后,可以将其销毁.有没有理由更喜欢这些方法之一?

// Initialize arguments in constructor
MyClass myObject = new MyClass(arg1, arg2, arg3);
myObject.myMethod();

// Pass arguments to method
MyClass myObject = new MyClass();
myObject.myMethod(arg1, arg2, arg3);

// Pass arguments to static method
MyClass.myMethod(arg1, arg2, arg3);
Run Code Online (Sandbox Code Playgroud)

我故意对细节模糊不清,试图获得针对不同情况的指导方针.但我并没有考虑像Math.random()这样的简单库函数.我正在考虑更多执行某些特定复杂任务的类,但只需要一个(公共)方法来执行它.

c# java oop static-methods

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

为什么C#构造函数不能推断类型?

为什么构造函数不支持类型推断,就像通用方法一样?

public class MyType<T>
{
   private readonly T field;
   public MyType(T value) { field = value; }
}

var obj = new MyType(42); // why can't type inference work out that I want a MyType<int>?
Run Code Online (Sandbox Code Playgroud)

虽然你可以用工厂类解决这个问题,

public class MyTypeFactory
{
   public static MyType<T> Create<T>(T value)
   {
      return new MyType<T>(value);
   }
}
var myObj = MyTypeFactory.Create(42);
Run Code Online (Sandbox Code Playgroud)

构造函数不支持类型推断是否存在实际或哲学原因?

c# generics constructor type-inference

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

ObservableCollection没有注意到它中的Item何时发生变化(即使使用INotifyPropertyChanged)

有谁知道为什么这段代码不起作用:

public class CollectionViewModel : ViewModelBase {  
    public ObservableCollection<EntityViewModel> ContentList
    {
        get { return _contentList; }
        set 
        { 
            _contentList = value; 
            RaisePropertyChanged("ContentList"); 
            //I want to be notified here when something changes..?
            //debugger doesn't stop here when IsRowChecked is toggled
        }
     }
}

public class EntityViewModel : ViewModelBase
{

    private bool _isRowChecked;

    public bool IsRowChecked
    {
        get { return _isRowChecked; }
        set { _isRowChecked = value; RaisePropertyChanged("IsRowChecked"); }
    }
}
Run Code Online (Sandbox Code Playgroud)

ViewModelBase包含所有东西RaisePropertyChanged等等,它除了这个问题以外的所有其他工作..

c# observablecollection inotifypropertychanged

158
推荐指数
10
解决办法
16万
查看次数

为什么在C布尔宏中#define为TRUE(1 == 1)而不是简单为1?

我见过C中的定义

#define TRUE (1==1)
#define FALSE (!TRUE)
Run Code Online (Sandbox Code Playgroud)

这有必要吗?简单地将TRUE定义为1,将FALSE定义为0有什么好处?

c precompiler

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

模拟对象的目的是什么?

我是单元测试的新手,我不断听到很多东西被抛出的"模拟对象".通俗地说,有人可以解释什么是模拟对象,以及在编写单元测试时它们通常用于什么?

unit-testing mocking

157
推荐指数
7
解决办法
6万
查看次数

使用Bash,你最喜欢的命令行技巧是什么?

我们都知道如何使用<ctrl>-R反向搜索历史记录,但是<ctrl>-S如果你设置了,你知道你可以使用转发搜索stty stop ""吗?另外,您是否尝试过运行bind -p来查看列出的所有键盘快捷键?默认情况下,Mac OS X上有超过455个.

什么是你最喜欢的晦涩难懂的技巧,键盘快捷键或使用bash的shopt配置?

bash command-line

156
推荐指数
33
解决办法
14万
查看次数

C#中命名的字符串格式

有没有办法按名称格式化字符串而不是在C#中定位?

在python中,我可以做类似这个例子的事情(从这里无耻地偷走):

>>> print '%(language)s has %(#)03d quote types.' % \
      {'language': "Python", "#": 2}
Python has 002 quote types.
Run Code Online (Sandbox Code Playgroud)

有没有办法在C#中做到这一点?比如说:

String.Format("{some_variable}: {some_other_variable}", ...);
Run Code Online (Sandbox Code Playgroud)

能够使用变量名称来做这件事会很好,但字典也是可以接受的.

c# string-formatting .net-3.5

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

在WPF中使用Hyperlink的示例

我已经看到了一些建议,你可以通过Hyperlink控件添加到WPF应用程序的超链接.

这是我在我的代码中尝试使用它的方式:

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
        mc:Ignorable="d" 
        x:Class="BookmarkWizV2.InfoPanels.Windows.UrlProperties"
        Title="UrlProperties" Height="754" Width="576">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition Height="40"/>
        </Grid.RowDefinitions>
        <Grid>
            <ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.RowSpan="2">
                <StackPanel >
                    <DockPanel LastChildFill="True" Margin="0,5">
                        <TextBlock Text="Url:" Margin="5" 
                            DockPanel.Dock="Left" VerticalAlignment="Center"/>
                        <TextBox Width="Auto">
                            <Hyperlink NavigateUri="http://www.google.co.in">
                                    Click here
                            </Hyperlink>   
                        </TextBox>                      
                    </DockPanel >
                </StackPanel>
            </ScrollViewer>        
        </Grid>
        <StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Margin="0,7,2,7" Grid.Row="1" >
            <Button Margin="0,0,10,0">
                <TextBlock Text="Accept" Margin="15,3" />
            </Button>
            <Button Margin="0,0,10,0">
                <TextBlock Text="Cancel" Margin="15,3" />
            </Button>
        </StackPanel>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

属性"文本"不支持"超链接"类型的值.

我究竟做错了什么?

c# wpf xaml hyperlink

149
推荐指数
7
解决办法
18万
查看次数

Netflix或Twitter风格的Web服务应该使用REST还是SOAP?

我已经实现了两个REST服务:Twitter和Netflix.两次,我都在努力寻找将这些服务公开为REST而不是SOAP的决策所涉及的用途和逻辑.我希望有人能够让我知道我所缺少的内容并解释为什么将REST用作这些服务的服务实现.

  1. 实现REST服务比实现SOAP服务花费的时间更长.所有现代语言/框架/平台都存在用于读取WSDL并输出代理类和客户端的工具.实现REST服务是手工完成的 - 通过阅读文档来实现这一点.此外,在实现这两个服务时,您必须"猜测"管道中将返回的内容,因为没有真正的架构或参考文档.

  2. 为什么要编写一个返回XML的REST服务呢?唯一的区别是,使用REST,您不知道每个元素/属性所代表的类型 - 您可以自己实现它,并希望有一天字符串不会出现在您认为总是为int的字段中.SOAP使用WSDL定义数据结构,因此这是一个明智的选择.

  3. 我听说过使用SOAP,你有SOAP信封的"开销".在这个时代,我们真的需要担心少数几个字节吗?

  4. 我听说过用REST可以将URL弹出到浏览器中并查看数据.当然,如果您的REST服务使用简单或无需身份验证.例如,Netflix服务使用OAuth,它要求您在提交请求之前对事物进行签名和编码.

  5. 为什么我们需要每个资源的"可读"URL?如果我们使用工具来实现服务,我们真的关心实际的URL吗?

rest soap

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