小编Joh*_*ers的帖子

如何在C#程序中使用和调用dll文件?

我在这个网站上下载了这个程序,这是一个屏幕键盘.

http://www.codeproject.com/KB/miscctrl/touchscreenkeyboard/touchscreenkeyboard_src.zip

我是否正确使用此程序或将其添加到我现有的c#程序中是仅使用dll?

如果是这样我怎么称呼它?

.net c# winforms

0
推荐指数
1
解决办法
71
查看次数

在数据库查询中使用关键字async/await

我在Windows Phone 8应用程序中有一个本地数据库.该应用程序包含对数据库的大量查询,我不希望对UI的响应性产生不良影响.

例如,我有一个用户表和方法,用于通过id从数据库中获取用户.

目前的变种

public class CacheDataContext : DataContext
{
    public static string DBConnectionString = "Data Source=isostore:/Cache.sdf";

    public CacheDataContext(string connectionString)
            : base(connectionString) { }

    public static AutoResetEvent OperationOnDatabaseUser = new AutoResetEvent(true);

    public Table<User> UserItems;
}

public class CacheDataContextUser : CacheDataContext
{
    public CacheDataContextUser(string connectionString)
        : base(connectionString) { }

    public User GetUser(string id)
    {
        try
        {
            OperationOnDatabaseUser.WaitOne();
            using (CacheDataContext context = new CacheDataContext(DBConnectionString))
            {
                //find user in the data base and return 
            }
        }
        finally
        {
            OperationOnDatabaseUser.Set();
        } …
Run Code Online (Sandbox Code Playgroud)

c# thread-safety windows-phone-7 async-await windows-phone-8

0
推荐指数
1
解决办法
2524
查看次数

使用JSON.NET无法反序列化相当简单的JSON数据

我有一个问题,反序列化一些看起来像这样的JSON数据:

{
    "Var1": 0,
    "Var2": 2,
    "Var3": -1,
    "Var4": 5,
    "Var5": 1,
    "Var6": 3
}
Run Code Online (Sandbox Code Playgroud)

它位于远程服务器上,我获取它,然后在单独的类中使用此方法反序列化:

public static T _download_serialized_json_data<T>() where T : new()
{
    using (var w = new WebClient())
    {
        var json_data = string.Empty;
        try
        {
            json_data = w.DownloadString("http://url_to_json_data.json");
        }
        catch (Exception) { }
        return !string.IsNullOrEmpty(json_data) ? JsonConvert.DeserializeObject<T>(json_data) : new T();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的JSON类:

public class Variables
{
    public int Var1 { get; set; }
    public int Var2 { get; set; }
    public int Var3 { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# json.net deserialization

0
推荐指数
1
解决办法
227
查看次数

继承事件处理程序

我试图为不同的报告写抽象类.

我有一个方法

protected Tuple<byte[], string, string> RenderReport()
Run Code Online (Sandbox Code Playgroud)

有这样的台词

var localReport = new LocalReport { ReportPath = _reportLocalFullName };
...
localReport.SubreportProcessing += localReport_SubreportProcessing;
Run Code Online (Sandbox Code Playgroud)

派生类必须在localReport_SubreportProcessing中编写自己的代码.

我不知道如何在这里继承.有人可以帮忙吗?

.net c# events inheritance

0
推荐指数
1
解决办法
68
查看次数

如何在c#中初始化类的新对象

Dim objConn As New Pclient.Connection
Run Code Online (Sandbox Code Playgroud)

上面的命令为Pclient类创建新对象.但是如何在C#中做同样的事情

它在VB中创建一个新对象,但是如何用C#编写

c# vb.net

0
推荐指数
1
解决办法
695
查看次数

如何提高 EF 中的 AsEnumerable 性能

我在 vs2012 ef 上工作。

我的 edmx 中有 1 到多个映射表结构。

var query = (
                    from bm in this.Context.BilBillMasters.AsEnumerable ()

                        join g in
                        (
                            from c in this.Context.BilBillDetails.AsEnumerable ()
                            group c by new { c.BillID }
                        )
                    on bm.BillID equals (g == null ? 0 : g.Key.BillID) into bDG
                    from billDetailGroup in bDG.DefaultIfEmpty()


                    where bm.IsDeleted == false
                    && (companyID == 0 || bm.CompanyID == companyID)
                    && (userID == 0 || bm.CustomerID == userID)
                    select new
                    {
                        bm.BillID,
                        BillNo = bm.CustomCode,
                        bm.BillDate,
                        BillMonth …
Run Code Online (Sandbox Code Playgroud)

.net c# linq entity-framework

0
推荐指数
1
解决办法
1909
查看次数

如何使用URL获取youtube视频标题

我有youtube视频网址保存在数据库中,我使用iframe将它们嵌入我的网页,有没有办法使用c#代码获取视频标题而不使用任何API.

c# asp.net

0
推荐指数
1
解决办法
5375
查看次数

Thread,ThreadPool和BackgroundWorker之间的区别

我很多时候在线程的帮助下调用方法

static void Main( string[] args )
{
    Thread t = new Thread( MyFunction );
    t.Start();
}

static void MyFunction()
{
    //code goes here
}
Run Code Online (Sandbox Code Playgroud)

有些时候我ThreadPool也喜欢上课

System.Threading.ThreadPool.QueueUserWorkItem(delegate {
    MyFunction();
}, null);
Run Code Online (Sandbox Code Playgroud)

但我不明白在线程类或ThreadPool类的帮助下调用任何方法有什么区别

所以我正在寻找一个关于Thread和ThreadPoolclass 之间有什么区别的好讨论.还需要知道何时应该使用Thread类来调用方法以及何时ThreadPool调用任何方法的类?如果可能的话,还要与样本代码一起讨论样本情况

另一个非常重要的问题是,如果我启动多个线程,那么我的应用程序性能会变低还是差?如果是,那么告诉我为什么......?

现在还告诉我什么是BackgroundWorker类以及它与Thread和ThreadPool类的不同之处.我听到BackgroundWorker该类还创建了一个单独的线程来运行任何方法.所以请讨论它与Thread和ThreadPoolclass的不同之处以及何时应该去BackgroundWorker上课.

这是一个小样本代码 BackgroundWorker

private void button1_Click(object sender, EventArgs e)
    {
        BackgroundWorker bw = new BackgroundWorker();

        // this allows our worker to report progress during work
        bw.WorkerReportsProgress = …
Run Code Online (Sandbox Code Playgroud)

c# multithreading backgroundworker threadpool

0
推荐指数
1
解决办法
7331
查看次数

string.Replace()不更新字符串

我尝试使用string.Replace()函数,但它无法正常工作.

string test = "AAA AA AA faseffs AEfAfse AFAEf AEFAEf";
test.Replace('A', 'C');
label.Text = test;
Run Code Online (Sandbox Code Playgroud)

label显示test字符串而不替换任何东西.

c# visual-studio-2012

0
推荐指数
1
解决办法
60
查看次数

字符串无法转换为System.Uri

码:

Imports System
Imports System.IO
Imports System.Text

Public Class Browser
    Dim Tab1Url As String = ""
    Dim Tab2Url As String = ""
    Dim TabNumber As Integer = 1
    Dim DefaultHomePageSavedLocation As String = "C:\ToolBoxData\TinyBrowser\Home.txt"

    Private Sub WebBrowser1_Navigating(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating
        Label2.Text = "[BROWSER] Loading in Progress......"
        ProgressBar1.Value = 50
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        WebBrowser1.GoBack()
        Label2.Text = "[BROWSER] Going to Last History......"
        ProgressBar1.Value = 0 …
Run Code Online (Sandbox Code Playgroud)

vb.net

0
推荐指数
1
解决办法
5686
查看次数