小编Noc*_*tis的帖子

在C#中比较两个结构的值

我不是在寻找两个返回bool的结构的比较,我想知道是否有办法获得两个结构的哪些字段(相同的结构,但可能是不同的值)是不同的.基本上我想要一个更简单的方法来执行以下操作:

public class Diff
{
    public String VarName;
    public object Val1;
    public object Val2;

    public Diff(String varName, object val1, object val2)
    {
        VarName = varName;
        Val1 = val1;
        Val2 = val2;
    }

    public override string ToString()
    {
        return VarName + " differs with values " + Val1 + " and " + Val2;
    }
}

public struct TestStruct
{
    public int ValueOne;
    public int ValueTwo;
    public int ValueThree;

    public List Compare(TestStruct inTestStruct)
    {
        List diffs = new List();
        if (ValueOne …
Run Code Online (Sandbox Code Playgroud)

c# comparison serialization struct compare

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

Silverlight + MVVM-Light中的SelectionChanged事件绑定

ComboBox控件的"SelectionChanged"事件的处理程序具有以下签名:

void SelectionChangedMethod(object sender, SelectionChangedEventArgs e)
Run Code Online (Sandbox Code Playgroud)

如何在Silverlight 4和MVVM-Light下绑定到该属性到ViewModel对象的相应方法?

据我所知,我需要做这样的事情:

public void Changed(Object obj, SelectionChangedEventArgs e)
{
    // .... implement logic here
}

RelayCommand<Object, SelectionChangedEventArgs> _command;
public ICommand ObjectSelectionChanged
{
    get
    {
        if (_command == null)
        {
            _command = new RelayCommand<Object, SelectionChangedEventArgs>(Changed);
        }
        return _command;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是MVVM-Light框架中的RelayCommand类不支持2个通用参数......

这种情况有什么解决方案或解决方法吗?如何使用2个参数将控制事件绑定到方法?

还有一个问题:ComboBox没有"Command"属性来绑定这个命令..?如何将事件发送到ViewModel?

谢谢.

PS我试图使用组合框的SelectedItem属性,但似乎ComboBox实现不正确,它不起作用...

.net silverlight wpf mvvm mvvm-light

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

c#静态类属性

我今天已经向我展示了一个例子,并且只想检查以下两者是否实际上具有相同的效果,而不是,它们之间的区别是什么.

这是:

private static Service1Client _myFoo;

static ServiceLayer()
{
    MyFoo = new Service1Client();
}

public static Service1Client MyFoo
{
    get { return _myFoo; }
    set { _myFoo = value; }
}
Run Code Online (Sandbox Code Playgroud)

这是一个冗长的方式:

public static Service1Client _myFoo
{
    get { return _myFoo; }
    set { _myFoo = value; }
}

static ServiceLayer()
{
    _myFoo = new Service1Client();
}
Run Code Online (Sandbox Code Playgroud)

如果不是这样,那么它们之间有什么区别?

谢谢.

c# static static-members

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

使用FastMember将不同的对象列表转换为DataTable

我编写了一个方法,使用NuGet中的FastMember将通用列表转换为DataTable .

这是我的代码:

public  DataTable ConvertGenericListToDataTable(List<CustomObject> inputList)
{
    var dt = new DataTable();
    using (var reader = ObjectReader.Create(inputList))
    {
         dt.Load(reader);
    }
    return dt;
}


var customObject = new List<CustomObject>();
var dt = ListToDataTable.ConvertGenericListToDataTable(customObject);
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.Customobject是我创建的自定义对象,我有几个不同的列表,我想传递给我的方法:List<CustomobjectA>或者List<CustomobjectB>等等.为我想要转换为DataTable的每种类型的列表编写方法并不是一个问题,但这可能会一遍又一遍地重复相同的代码行,这显然是我想要防止的

我尝试将参数的类型更改为List<object>List<dynamic>.然后我的代码将无法编译,因为:"ConvertGenericListToDataTable的最佳重载方法匹配有一些无效的参数".

有没有办法可以将对象列表作为参数传递而不定义对象的确切类型?

c#

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

当我按下文本框中的输入时发出恼人的嘟嘟声

当用户按下文本框中的输入时,我正试图让某些事情发生,并且它可以工作,但是当我这样做时,它会产生一个非常烦人的DING窗口错误声音.我已经查找了我的问题,并且显然e.SuppressKeyPress = true;在这些内容之前添加了内容,然后e.Handled = true;我的程序仍在发出声音.这是我正在使用的代码:

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
    e.SuppressKeyPress = true;
    if (e.KeyCode == Keys.Enter)
    {
        // A bunch of stuff goes here that I want to 
        // happen when the user hits enter               
    }
    e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?这是其他人说你必须要做的事情,但由于某些原因它并不适合我...

谢谢!

.net c# windows visual-studio-2010 winforms

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

在工作时间(或下班后)获取所有提交

有什么方法可以获取发生的提交列表(比如说 09:00 到 17:00 之间)及其时间吗?

我唯一能想到的就是将输出发送到文件,然后尝试解析它......

git

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

Visual Studio c#远程调试关闭Windows服务

我偶尔从我的电脑调试我的Windows服务,实际上Windows服务是在不同的远程服务器.我使用visual studio远程调试器这样做,然后通过连接到服务器将我的源附加到服务

tools - > attach to process - > qualifier = server ip

问题是,每当我因为互联网错误等而失去与服务器的连接时,Windows服务器就会在我的服务器中停止并关闭,我必须再次启动它.

也许我没有提供足够的信息,所以请求它而不是投票.

TIA.

c# windows remote-debugging visual-studio visual-studio-2012

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

来自C#的SQL查询

我试图从C#查询SQL Server数据库

我有课

Class_A 
{
  public fetch((string name, string last_name))
  {
    SqlConnection conn = null;
    double val = 0;
    string server = "123.444.22.sss";
    string dbase = "xyz";
    string userid = "cnsk";
    string password = "xxxxxx";
    string connection = "Data Source=" + server + ";Initial Catalog=" + dbase 
                        + ";User ID=" + userid + ";Password=" + password;

    conn = new SqlConnection(connection);

    try
    {
      conn.Open();
    }
    catch(Exception)
    {
      string e = "Database error contact administrator";
      MessageBox.Show(e, "Error!");
    }
    try
    {
      SqlDataReader myReader …
Run Code Online (Sandbox Code Playgroud)

c# sql

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

javascript函数中显式和隐式返回之间的任何区别?

当我从函数显式返回而隐式返回时有什么区别吗?

这是困扰我ATM的代码:

function ReturnConstructor(arg){
    // Private variable. 
    var privateVar = "can't touch this, return ctor.";

    // This is what is being exposed to the outside as the return object
    return {
        print: function() {
            console.log("ReturnConstructor: arg was: %s", arg);
        }
    };
}

function NormalConstructor(arg){
    // Private variable. 
    var privateVar = "can't touch this, normal ctor";

    // This is what is being exposed to the outside as "public"
    this.print = function() {
            console.log("NormalConstructor: arg was: %s", arg);
        };
}

var ret …
Run Code Online (Sandbox Code Playgroud)

javascript return function

4
推荐指数
1
解决办法
5289
查看次数

编译器是否优化了重复的相同检查

我遇到了一些反复检查相同条件的代码.好像C#6会让我们从这个丑陋的冗余代码中解脱出来,但与此同时,引入bool变量是否有任何好处,或者编译器足够聪明,可以为我们排序,而不是反复比较同样的事情?(即使我们正在进行检查,我会假设将结果藏在一个布尔会(稍微)更快?)

// here we're doing the same check over and over again
string str1 = (CustomerData == null) ? string.Empty : CustomerData.str1;
string str2 = (CustomerData == null) ? string.Empty : CustomerData.str2;
string str3 = (CustomerData == null) ? string.Empty : CustomerData.str3;
// ... rinse and repeat

// here we're still doing a check, but against a boolean variable
bool is_valid  = CustomerData == null;
string str1 = is_valid ? string.Empty : CustomerData.str1;
string str2 = is_valid ? string.Empty : …
Run Code Online (Sandbox Code Playgroud)

c# performance compiler-optimization

3
推荐指数
1
解决办法
103
查看次数