小编naw*_*fal的帖子

如何获取对象属性的默认值?

一些代码:

foreach (System.Reflection.PropertyInfo pi in myObject.GetType().GetProperties())
{
    if (pi.CanWrite)
    {
        object value = pi.GetValue(Properties, null);

        // if (value is not default)
        // {
        X.addAttribute(pi.Name, value);
        // }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做的是,如果属性处于其 DefaultValue,则不调用“X.addAttribute...”行。我假设有某种方法可以获取属性的 DefaultValue,以便我可以进行比较?

出于我的目的,我试图获取由 DefaultValueAttribute 定义的“默认”值。

任何帮助表示赞赏,干杯。

c# default propertyinfo

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

使用php下载文件通过传递用于http身份验证的用户名和密码,从给定的URL

我需要使用php代码下载文本文件.该文件具有http身份验证.我应该用什么程序来做这件事.我应该使用fsocketopen或卷曲还是有其他方法可以做到这一点?

我正在使用fsocketopen但它似乎不起作用.

$fp=fsockopen("www.example.com",80,$errno,$errorstr);

$out = "GET abcdata/feed.txt HTTP/1.1\r\n";

$out .= "User: xyz \r\n";

$out .= "Password: xyz \r\n\r\n";
fwrite($fp, $out);

while(!feof($fp))
{

 echo fgets($fp,1024);

}

fclose($fp);
Run Code Online (Sandbox Code Playgroud)

fgets是假的.

任何帮助!!!

php curl fsockopen

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

双值字典,返回特定键的任何值

我需要创建一个每个键有2个值的字典,它必须以相同的概率返回2个值中的一个.

例:

myDicry
{
  key = "A", value1=15, value2=56;
}

int firstCall = myDicry["A"];  // = 15
int secondCall = myDicry["A"]; // = 56
Run Code Online (Sandbox Code Playgroud)

c# dictionary probability

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

如何从另一种形式(C#)将焦点设置为主窗体中的对象(文本框)

我尝试了我所知道的一切.麻烦一定是我的文本框在一个组框中.我有一个Mainform,我可以从中移动到另一个表单.当我返回Mainform时,我想要一个特定的对象被聚焦.这是怎么做到的?这是我在Mainform中的代码.

    private void button1_Click(object sender, EventArgs e)
    {
         Form1 frm = new Form1();
         frm.ShowDialog();
    }
Run Code Online (Sandbox Code Playgroud)

现在这是我从Form1返回到Mainform的方式.

    private void button3_Click(object sender, EventArgs e)
    {
        this.DialogResult = DialogResult.OK;
    }
Run Code Online (Sandbox Code Playgroud)

我在Mainform中有textBox1.如何在退出Form1并进入Mainform时将焦点设置为textBox1.我试着textBox1.Focus();this.ActiveControl = this.textBox1;的MainForm下Load,Show,ActivatedEnter事件.仍然没有奏效.我尝试创建一个公共方法,并在Form1的退出按钮下调用它.像这样.

在Mainform中,

    public void textBox1Focus()
    {
        textBox1.Focus();
    }
Run Code Online (Sandbox Code Playgroud)

然后在Form1中,

    private void button3_Click(object sender, EventArgs e)
    {
        this.DialogResult = DialogResult.OK;
        Mainform frm = new Mainform();
        frm.textBox1Focus();
    }
Run Code Online (Sandbox Code Playgroud)

哪个仍然无效.我的textBox1在一个组框中.这可能是原因吗?

谢谢.

.net c# controls focus winforms

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

如何增加整个应用程序的字体大小(C#)

我有一个工具,现在我希望整个应用程序的字体增加一些余量.无论如何,在一个干净的步骤中做到这一点?去每个控件并设置字体大小应该是辛苦的.

c# user-interface font-size .net-2.0 winforms

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

mysql使用create子句恢复数据库脚本?

mysql> -u username -p [database] < file.sql
Run Code Online (Sandbox Code Playgroud)

恢复数据库.我的转储文件中没有create子句,因此我需要创建一个数据库然后恢复.我可以这样做来创造.

mysql> create database [database];
Run Code Online (Sandbox Code Playgroud)

很公平.现在我怎样才能在一条线上实现上述修复?无论如何通过使用一行代码创建数据库来恢复数据库?

我当然可以没有它,但很高兴知道..谢谢..

mysql command-line database-restore

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

为什么不需要将类标记为要序列化的[DataContract]或[Serializable]属性?

Microsoft在其文章" 如何使用Visual C#将对象序列化为XML "中提供了代码.

using System;

public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}

class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
}    
Run Code Online (Sandbox Code Playgroud)

但是,为什么类clsPerson不需要用[DataContract]或[Serializable]属性标记?

c# serialization

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

Linq查询OrderBy Multiple

我有一个List<Employees>集合,我试图选择Active员工.

我一定做错了,因为我在这里看到很多例子表明我可以做到这一点,但Visual Studio告诉我我不能,因为:

无法将类型'System.Linq.IOrderedEnumerable'隐式转换为'System.Collections.Generic.List'.存在显式转换(您是否错过了演员?)

这张照片出了什么问题?LastNameFirstName(正如你可能怀疑)都是字符串值,并且Active是一个布尔值.

范围变量

DataGridView1.DataSource = null;
List<AcpEmployee> emps = from e in employeeInfo.Employees
                         where e.Active 
                         orderby e.LastName, e.FirstName descending
                         select e;
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-objects

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

使用反射更新类属性,并将属性的名称更新为字符串

我有一个样本课

public class sampleClass
{
    public string givenName { get; set; }
    public string familyName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以及包含在该类中的一组值IDictionary<string, object> dataModel.我可以使用反射来迭代dataModel并使用dataModel键来获取值.

我想做的事情如下:

void UpdateValues(IDictionary<string, object> dataModel)
{
    Type sourceType = typeof(sampleClass);
    foreach (PropertyInfo propInfo in (sourceType.GetProperties()))
    {
        if (dataModel.ContainsKey(propInfo.Name))
        {
            //  set propInfo value here
            propInfo.Value = dataModel[propInfo.Name];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做

propInfo.Value = dataModel[propInfo.Name];
Run Code Online (Sandbox Code Playgroud)

救命!谢谢 !!

c# reflection properties

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

System.ArgumentException:System.Linq.Expressions方法中为lambda声明提供的参数数量不正确

Mates,我正在尝试使用System.Linq.Expressions构建表达式树,我收到此错误:

Erro:System.ArgumentException:1 parameters) at System.Linq.Expressions.Expression.Lambda[TDelegate](Expression body, String name, Boolean tailCall, IEnumerableSystem.Linq.Expressions.Expression.Lambda [TDelegate](表达式)System.Linq.Expressions.Expression.ValidateLambdaArgs(类型delegateType,Expression&body,ReadOnlyCollection 1参数)中为lambda声明提供的参数数量不正确在System.Linq.Expressions.Expression.Lambda [TDelegate](表达式体,ParameterExpression []参数)的body,Boolean tailCall,IEnumerable`1参数)在C:\ Users \中的Gedi.Controllers.OperacaoController.opBuscaFile(FormCollection表单) Guilherme\Documents\Visual Studio 2012\Projects\Gedi\Gedi\Controllers\OperacaoController.cs:338行

代码:

IQueryable<String> queryableData = AllIndexValues.AsQueryable<string>();


//docTypeId == idTipo
ParameterExpression pe1 = Expression.Parameter(typeof(int), "docTypeId");
Expression right = Expression.Constant(idTipo);
Expression e1 = Expression.Equal(pe1, right);


//idIndice == 16
ParameterExpression pe2 = Expression.Parameter(typeof(int), "idIndice");
right = Expression.Constant(16, typeof(int));
Expression e2 = Expression.Equal(pe2, right);

//docTypeId == idTipo AND idIndice == 16
Expression predicateBody = Expression.And(e1,e2);

//queryableData.Where(docTypeId => (docTypeId ==  idTipo) AND idIndice …
Run Code Online (Sandbox Code Playgroud)

.net c# linq expression-trees linq-to-sql

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