小编Ali*_*Ali的帖子

C#反思:如何从字符串中获取类引用?

我想在C#中这样做,但我不知道如何:

我有一个类名为-eg的字符串:FooClass我想在这个类上调用(静态)方法:

FooClass.MyMethod();
Run Code Online (Sandbox Code Playgroud)

显然,我需要通过反思找到对类的引用,但是如何?

c# reflection

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

创建多个线程并等待所有线程完成

如何创建多个线程并等待所有线程完成?

.net c#

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

ffmpeg - 删除顺序重复的帧

有没有办法检测视频中的重复帧ffmpeg.

我尝试用-vf旗帜select=gt(scene\,0.xxx)改变场景.但是,它对我的​​情况不起作用.

ffmpeg duplicates

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

将项添加到Listview控件

listview在c#中有三列,视图是详细信息.我需要为每个特定列添加一个项目,但我很难用这个.我尝试过几件事.这是我到目前为止所得到的.在此先感谢您的帮助.

// Add the pet to our listview
ListViewItem lvi = new ListViewItem();
lvi.SubItems.Add(pet.Name);
lvi.SubItems.Add(pet.Type);
lvi.SubItems.Add(pet.Age);

listView.Items.Add(lvi);
Run Code Online (Sandbox Code Playgroud)

这是结果

c# listview winforms

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

Linq:在数据表列中选择值

如何使用LINQ (C#)为特定行中的特定行选择值datatable.相当于SQL:

select NAME from TABLE where ID = 0
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c# linq datatable

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

在C#中做一些工作时显示进度条?

我想在做一些工作时显示进度条,但这会挂起UI并且进度条不会更新.

我有一个一个WinForm ProgressForm ProgressBar将无限期地继续以滚动字幕的方式.

using(ProgressForm p = new ProgressForm(this))
{
//Do Some Work
}
Run Code Online (Sandbox Code Playgroud)

现在有很多方法可以解决这个问题,比如使用BeginInvoke,等待任务完成和调用EndInvoke.或使用BackgroundWorkerThreads.

我在使用EndInvoke时遇到了一些问题,尽管这不是问题.问题是哪种方法是用于处理此类情况的最佳和最简单的方法,您必须向用户显示程序正在运行而不是无响应,以及如何使用最简单的代码来处理这种情况,这样可以提高效率并赢得" t泄漏,可以更新GUI.

就像BackgroundWorker需要有多个函数,声明成员变量等一样.然后你需要保持对ProgressBar表单的引用并处理它.

编辑:BackgroundWorker不是答案,因为它可能是我没有得到进度通知,这意味着没有调用,ProgressChanged因为DoWork是对外部函数的单个调用,但我需要继续调用Application.DoEvents();进度条保持旋转.

赏金是针对此问题的最佳代码解决方案.我只需要调用Application.DoEvents()以便Marque进度条可以工作,而worker函数在Main线程中工作,并且它不会返回任何进度通知.我从不需要.NET魔术代码来自动报告进度,我只需要一个比以下更好的解决方案:

Action<String, String> exec = DoSomethingLongAndNotReturnAnyNotification;
IAsyncResult result = exec.BeginInvoke(path, parameters, null, null);
while (!result.IsCompleted)
{
  Application.DoEvents();
}
exec.EndInvoke(result);
Run Code Online (Sandbox Code Playgroud)

保持进度条活着(意味着不冻结但刷新品牌)

c# multithreading begininvoke .net-3.5

26
推荐指数
4
解决办法
12万
查看次数

使用EntityFramework 6 Code-First播种期间的IDENTITY_INSERT

我有一个有Auto-identity (int)列的实体.作为数据种子的一部分,我想在我的系统中使用"标准数据"的特定标识符值,之后我想让数据库整理id值.

到目前为止,我已经能够IDENTITY_INSERT将插件批处理设置为On,但实体框架不会生成包含该插件的插入语句Id.这是有道理的,因为模型认为数据库应该提供值,但在这种情况下,我想提供值.

模型(伪代码):

public class ReferenceThing
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id{get;set;}
    public string Name{get;set;}
}

public class Seeder
{
    public void Seed (DbContext context)
    {

        var myThing = new ReferenceThing
        {
            Id = 1,
            Name = "Thing with Id 1"
        };

        context.Set<ReferenceThing>.Add(myThing);

        context.Database.Connection.Open();
        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT ReferenceThing ON")

        context.SaveChanges();  // <-- generates SQL INSERT statement
                                //     but without Id column value

        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT ReferenceThing OFF")
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都能提供任何见解或建议吗?

c# entity-framework entity-framework-6

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

如何从OpenFileDialog获取文件扩展名?

我只想让图像(.JPG,.PNG,.Gif)从我的文件OpenFileDialog 我怎样才能得到文件的扩展名从OpenFileDialog

这不可能吗?

c# openfiledialog

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

如何在Java中将字节数组转换为String?

如何将数组转换bytesString无转换?

我试过了:

  String doc=new String( bytes);
Run Code Online (Sandbox Code Playgroud)

但是doc文件与字节不同(字节是二进制信息).例如:

  String doc=new String( bytes);
  byte[] bytes2=doc.getBytes();
Run Code Online (Sandbox Code Playgroud)

bytes并且bytes2是不同的.

PS:UTF-8不起作用,因为它转换了不同值的一些字节.我测试过它不起作用.

PS2:不,我不想要BASE64.

java arrays string

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

LINQ:自定义列名

UPDATE

我基本上将查询绑定到WinForms DataGridView.我希望列标题合适,并在需要时包含空格.例如,我想要一个列标题First Name代替FirstName.


如何在LINQ中创建自己的自定义列名?

例如:

Dim query = From u In db.Users _
            Select u.FirstName AS 'First Name'
Run Code Online (Sandbox Code Playgroud)

linq asp.net datagridview linq-to-sql

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