小编Mar*_*ell的帖子

以编程方式循环访问DatagridView并选中复选框

我有DataGridView绑定数据表我有相同的复选框.

我想导航或循环遍历datagridview并选中标记这些复选框,下面是我使用的语法.

foreach(DataGridViewRow dr in dgvColumns.Rows)
{
    DataGridViewCheckBoxCell checkCell =
        (DataGridViewCheckBoxCell)dr.Cells["CheckBoxes"];
    checkCell.Value=1;
    //Also tried checkCell.Selected=true;
    //Nothing seems to have worked.!
}
Run Code Online (Sandbox Code Playgroud)

c# windows datagridviewcheckboxcell

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

通用方法中的运算符重载

此代码段来自深度中的C#

    static bool AreReferencesEqual<T>(T first, T second)
        where T : class
    {
        return first == second;
    }

    static void Main()
    {
        string name = "Jon";
        string intro1 = "My name is " + name;
        string intro2 = "My name is " + name;
        Console.WriteLine(intro1 == intro2);
        Console.WriteLine(AreReferencesEqual(intro1, intro2));
    }
Run Code Online (Sandbox Code Playgroud)

上面代码片段的输出是

True 
False
Run Code Online (Sandbox Code Playgroud)

当main方法改为

    static void Main()
    {
        string intro1 = "My name is Jon";
        string intro2 = "My name is Jon";
        Console.WriteLine(intro1 == intro2);
        Console.WriteLine(AreReferencesEqual(intro1, intro2));
    }
Run Code Online (Sandbox Code Playgroud)

上面代码片段的输出是

True 
True …
Run Code Online (Sandbox Code Playgroud)

.net c# generics string-interning

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

使用LINQ Dynamic Query Library和Dictionary <string,object>和.AsQueryable()

在我以前的关于使用LINQ动态建立字符串(WHERE子句)和使用它们的问题之一,我被引向LINQ动态查询库动态LINQ.

第一个问题是它只适用于IQueryable,但是这可以通过在任何IEnumerable上使用.AsQueryable()扩展方法来克服.

我遇到的问题是Dynamic LINQ在我的Dictionary上寻找一个名为"CustomerID"的属性(或者传递给动态linq的字符串谓词的任何东西).由于词典只有键和值,这显然不起作用.

因此,我认为我很聪明,我创建了一个扩展类: Dictionary<string, object>ICustomTypeDescriptor`.

这允许我覆盖GetProperties()类型.哪个好.我现在可以迭代Dictionary键并将它们添加到PropertyDescriptorCollection返回的内容中.

但后来我遇到了另一个问题.在整个Dynamic LINQ库中,它们使用"Expression instance",它只包含一个Type.但是对于我的CustomTypeDescriptor工作解决方案,我需要一个实际的Type实例,然后才能申请TypeDescriptor.GetProperties(instance, false).

所以得到实际的问题.考虑到上述所有信息,如果数据存储在具有键值对的字典中,如何将字符串格式"CustomerID = 1234 AND Quantity> = 10000"中的自定义where子句应用于LINQ查询.

我目前的解决方案是将数据转换为a DataTable并使用该.Select(query)方法.哪个有效,但我有兴趣寻找其他解决方案.特别是用于基准测试目的.

有任何想法吗?

c# linq dictionary types properties

6
推荐指数
1
解决办法
6043
查看次数

在vbscript中调用C#dll

我试图从QTP调用C#dll(使用vbscript).我尝试了很多没有成功的事情:

  • Visual Studio 2010
  • 创建C#类libary(st.dll)

码:

using System;
using System.Collections.Generic;
using System.Text;   

namespace st
{
    public class Class1
    {
        public static int GetValue()
        {
            return 34;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  • regasm /codebase st.dll
    • 失败'因为它不是有效的.NET程序集'

在QTP/vbscript中,我试过了

  • extern.Declare micInteger, "GetValue", "e:\st.dll", "GetValue"
    • 返回消息:'无效的过程调用或参数'

无论QTP如何,我都非常感谢有关如何从.vbs文件调用c#dll的任何见解.

c# dll vbscript qtp

6
推荐指数
1
解决办法
7456
查看次数

python http请求和响应如何工作

我是python的新手,我有任务所以我需要扫描wifi并将数据发送到服务器,下面是我必须发送的格式,这在手动输入浏览器URL文本框时工作正常,

http://223.56.124.58:8080/ppod-web/ProcessRawData?data={"userId":"2220081127-14","timestamp":"2010-04-12 10:54:24","wifi":{"ssid":"guest","rssi":"80"}}
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import httplib  
import urllib

params = urllib.urlencode('{\"userId\":\"20081127-14\",\"timestamp\":\"2010-04-12 10:54:24\",\"wifi\":{\"ssid\":\"guest\",\"rssi\":\"80\"}}')

headers = {"Content-type":"application/x-www-form-urlencoded","Accept":"text/plain"}
conn = httplib.HTTPConnection("http://223.56.124.58:8080")
conn.request("POST","ppod-web/ProcessRawData?data=",params,headers)
response = conn.getresponse()   
print response.status  
print "-----"  
print response.reason  
data = response.read()   
print data
conn.close()
Run Code Online (Sandbox Code Playgroud)

谢谢

python http

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

实现LINQ表达式参数

我正在使用我找到的接口,它有一个将LINQ表达式作为参数的方法.如何实现此方法以使用LINQ表达式?我可以看到它非常有用,但是如何编写代码来使用它!

它是一个存储库接口.

签名是......

IQueryable<T> Get(Expression<Func<T, bool>> criteria);
Run Code Online (Sandbox Code Playgroud)

c# linq

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

使用Protobuf-net和Monotouch for IOS序列化IEnumerable槽WCF

我正在尝试在Monotouch/Monodevelop上为IOS编写WCF服务.我使用[DataMember]/[DataContract]等标准属性作为我的可序列化对象,使用[ServiceContract]/[OperationContract]作为我的界面.一切正常,但是当我尝试在接口实现(服务器端)上实现返回IEnumerable的方法时,它没有用.

所以为了解决我的问题,我尝试使用最新版本的protobuf-net protobuf-net v2 beta r404.但我仍然从Protobuf-net收到序列化错误.请注意,"MyObject"中的IEnumerable序列化没有问题.

以下是我的代码现在的样子:

为MyObject:

[ProtoContract]
public class MyObject
{
    public MyObject ()
    {
    }

    [ProtoMember(1)]
    public int Id {get;set;}

    [ProtoMember(2)]
    public IEnumerable<MyObject> myObjects {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我的界面(Windows上的服务器端):

[ServiceContract]
public interface ITouchService
{
        [OperationContract, ProtoBehavior]
        MyObject Execute();

    [OperationContract, ProtoBehavior]
    IEnumerable<MyObject> ExecuteENUM ();
}
Run Code Online (Sandbox Code Playgroud)

我的界面(IOS上的客户端,我无法添加ProtoBehavior作为属性,因为它不在protobuf的ISO dll中):

[ServiceContract]
public interface ITouchService
{
    [OperationContract]
    MyObject Execute();

    [OperationContract]
    IEnumerable<MyObject> ExecuteENUM ();
}
Run Code Online (Sandbox Code Playgroud)

我的界面实现:

public class TouchService : ITouchService
    {
        public MyObject Execute()
        {
            var myObject = new MyObject() { Id = 9001 …
Run Code Online (Sandbox Code Playgroud)

c# ienumerable wcf serializer protobuf-net

6
推荐指数
1
解决办法
1211
查看次数

如何在不引用EF的情况下识别EF POCO代理?

我需要发现EF POCO代理; MSDN提供了一些基于的提示ObjectContext.GetObjectType(type.GetType())

但是,如果没有EF参考,我真的很想这样做.例如,使用NHibernate,我可以使用名称(作为字符串)检查对象是否实现了标记接口"NHibernate.Proxy.INHibernateProxy".

EF POCO代理中有类似的东西吗?例如,我可以依赖它们在命名空间中System.Data.Entity.DynamicProxies.,还是那么脆弱?

看一下反射器内部,它只是检查组件与内部跟踪的组件,这对我来说是个问题.

.net c# entity-framework poco

6
推荐指数
1
解决办法
1067
查看次数

如何在C#中将字节数组转换为double数组?

我有一个包含双精度值的字节数组.我想将它转换为双数组.在C#中有可能吗?

字节数组看起来像:

byte[] bytes; //I receive It from socket

double[] doubles;//I want to extract values to here
Run Code Online (Sandbox Code Playgroud)

我用这种方式创建了一个字节数组(C++):

double *d; //Array of doubles
byte * b = (byte *) d; //Array of bytes which i send over socket
Run Code Online (Sandbox Code Playgroud)

.net c# bytearray

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

连接未关闭,连接的当前状态已打开

如何解决这个问题; 连接已在我的功能中关闭:

SqlConnection con=new SqlConnection(@"Here is My Connection");

public void run_runcommand(string query)   
{   

    try   
    {   
        con.Open();   
        SqlCommand cmd1 = new SqlCommand(query, con);   

        cmd1.ExecuteNonQuery();    
        con.Close();    
    }    
    catch (Exception ex) { throw ex; }                        
}    
//...
try       
{           
    string query="my query";           
    db.run_runcommand(query);          
}         
catch(Exception ex)            
{         
    MessageBox.Show(ex.Message);              
}
Run Code Online (Sandbox Code Playgroud)

c#

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