小编Tho*_*erg的帖子

从System.Drawing.Bitmap加载WPF BitmapImage

我有一个a的实例,System.Drawing.Bitmap并希望以一种形式将它提供给我的WPF应用程序System.Windows.Media.Imaging.BitmapImage.

对此最好的方法是什么?

c# wpf bitmap

217
推荐指数
8
解决办法
21万
查看次数

RavenDB:如何使用多个搜索词进行查询

我的实体是:

class Resource
{
    string Name;
    string EmployeeId;
}
Run Code Online (Sandbox Code Playgroud)

如何查询多个员工的资源?我试过这个:

Resource[] FindResourcesByEmployees(string[] employeeIds)
{
    return this.Session.Query<Resource>()
        .Where(r => employeeIds.Contains(r.EmployeeId))
        .ToArray();
}
Run Code Online (Sandbox Code Playgroud)

但是,这给了我NotSupportedException:不支持的方法:包含.然后我尝试了以下方法:

Resource[] FindResourcesByEmployees(string[] employeeIds)
{
    return this.Session.Query<Resource>()
        .Where(r => employeeIds.Any(v => v == r.EmployeeId))
        .ToArray();
}
Run Code Online (Sandbox Code Playgroud)

抛出NotSupportedException:不支持表达式类型:System.Linq.Expressions.TypedParameterException.

在SQL中它将是这样的:

SELECT * FROM resource WHERE employeeid IN (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在RavenDB中执行此查询?

ravendb

30
推荐指数
1
解决办法
5029
查看次数

VB.NET中的静态方法实现

Static对VB.NET中的实现感到困惑.在C#中,我们可以创建静态类和静态方法来为我们的应用程序编写实用程序方法.

现在,VB.NET让我们创建Module代替静态类.如果我们在模块中创建一个方法,默认情况下它变为静态.但在我的应用程序中,我编写了以下代码:

Public Class Utility
    Public Shared Function GetValue() As String
       // My code
    End Function
End Class
Run Code Online (Sandbox Code Playgroud)

通过编写代码,我可以访问实用程序方法Utility.GetValue().由于这不是静态类,我应该实例化它的一个对象.但是这个方法可用于类和对象Utility

现在我的问题是:

  1. 我所做的实现可能违反了模块提供的静态类的任何功能吗?
  2. 这与实施模块有什么区别?
  3. 如果我改为创建一个模块,那么它的范围是否与此类相同?我希望在整个项目中以及引用此项目的其他项目中访问该方法.

我试过咨询多篇文章,但没有找到这个确切的答案.请帮忙.

.net vb.net static

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

OnLoad方法和Load事件之间的区别?

OnLoad方法和Load事件有什么区别?我正在开发WinForm控件.我应该注册Load事件还是覆盖OnLoad方法?每个人的优点和缺点是什么?

user-interface load winforms

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

RavenDB Linq无效操作.ToUpperInvariant()

我正在尝试ToUpperInvariant()在RavenDB的LINQ查询中使用.我收到了一个InvalidOperationException:

无法理解如何翻译server.Name.ToUpperInvariant().

查询如下.为了让我能够在这里按姓名匹配,需要做些什么?这在使用RavenDB的查询中是否可行?

public ApplicationServer GetByName(string serverName)
{
    return QuerySingleResultAndCacheEtag(session => session.Query<ApplicationServer>()
        .Where(server => server.Name.ToUpperInvariant() == serverName.ToUpperInvariant()).FirstOrDefault())
        as ApplicationServer;
}

protected static EntityBase QuerySingleResultAndCacheEtag(Func<IDocumentSession, EntityBase> func)
{
    if (func == null) { throw new ArgumentNullException("func"); }

    using (IDocumentSession session = Database.OpenSession())
    {
        EntityBase entity = func.Invoke(session);
        if (entity == null) { return null; }
        CacheEtag(entity, session);
        return entity;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# linq ravendb

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

Monitor.Pulse&Wait - 意外行为

http://www.codeproject.com/Articles/28785/Thread-synchronization-Wait-and-Pulse-demystified

队列:

就绪队列是等待特定锁的线程集合.Monitor.Wait方法引入了另一个队列:等待队列.这是必需的,因为等待Pulse与等待获取锁定不同.与就绪队列一样,等待队列是FIFO.

推荐图案:

这些队列可能会导致意外行为.当发生脉冲时,等待队列的头部被释放并被添加到就绪队列中.但是,如果就绪队列中还有其他线程,则它们将在释放的线程之前获取锁定.这是一个问题,因为获取锁的线程可以改变脉冲线所依赖的状态.解决方案是在lock语句中使用while条件

*Q =队列.

通过这个,我明白,当我打电话时Pulse,它会在它结束前完成2件事.首先,它将等待Q中的一个线程移除到就绪Q.其次,它允许Ready Q中的一个线程(不知道谁是该线程)获得锁定; 它不关心谁获得了锁(来自等待Q的线程或由于某种原因在准备Q中的线程).

如果我是对的那么为什么whileMonitor.Wait帮助解决问题之前先放一个(问题 - 即使来自等待Q的线程没有获得锁定,脉冲结束)?

.告诉我,如果我的目的是正确的Monitor.Pulse.

.为什么我需要把whileMonitor.Wait

以下答案的完整代码:

class Program
{
    static Queue<int> queue = new Queue<int>();
    static object someMonitor = new object();

    static void Main(string[] args)
    {
        Thread Thread1 = new Thread(WorkAlltheTime);
        Thread1.Name = "Thread1";
        Thread Thread2 = new Thread(WorkAlltheTime);
        Thread2.Name = "Thread2";
        Thread Thread3 = new Thread(WorkOnce);
        Thread3.Name = "Thread3";
        Thread1.Start();
        Thread2.Start();
        Thread.Sleep(1000);
        Thread3.Start(); …
Run Code Online (Sandbox Code Playgroud)

c# locking monitor

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

条件FrameworkElements取决于DataContext

在我的MV-VM应用程序中,我必须显示用户的头像.该图像在ViewSodel对象的ImageSource类型的属性中提供.这就是我目前所拥有的:

<Image Source="{Binding Path=UserAvatar}"/>
Run Code Online (Sandbox Code Playgroud)

但是,某些用户可能没有配置头像,因此UserAvatar是null.在这种情况下,我想显示一个默认的头像.没有人,但视图必须知道默认图像,因为它只是一个关注的演示.

那么如何使用给定的ImageSource显示图像,或者如果是ImageSource则显示特定的资源null.我是否必须在DataTriggers中使用某种DataTemplate?从现在起我只将它们用于ItemsControls,所以我不知道.

wpf xaml datatrigger mvvm frameworkelement

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

清除字符数组将无法正常工作

我有一个char数组:

public static char[] boardposition = new char[9];
Run Code Online (Sandbox Code Playgroud)

我想重置数组,我的书面函数是:

public static void Reset()
{            
     Array.Clear(boardposition,9, boardposition.Length);
}
Run Code Online (Sandbox Code Playgroud)

当我打电话给Reset()我时,我得到一个类型的例外IndexOutOfRangeException.

我希望你们能帮助我.

c# arrays clear

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

无法在 Firebase 身份验证中启用电子邮件/密码登录方法

我尝试在 Firebase Auth 中启用电子邮件/密码登录方法。当我单击“保存”按钮时,出现错误“更新电子邮件/密码时出错”。

请看这张图片:

错误

我已经将 Firebase 添加到我的 Android 应用程序中。

firebase-authentication firebase-console

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

将ListBlock置于ListBox.ItemTemplate中

我正在开发一个Windows Phone应用程序.

我有以下XAML代码:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <ListBox x:Name="GameList" Margin="12" Grid.Row="1">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Margin="10,10,10,5" Height="67" HorizontalAlignment="Center" VerticalAlignment="Center" >
                    <TextBlock Text="{Binding Name}"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>
Run Code Online (Sandbox Code Playgroud)

但是我无法将文本块设置为居中(垂直和水平).

layout listbox windows-phone-7

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

C# 名称“...”在当前上下文中不存在

我是 C# 新手,我尝试从基础知识开始学习,但我坚持上课。我做了第一个例子来练习,它工作正常,但是当我添加一点复杂性时,我收到错误:

“‘iArcher’这个名字在当前上下文中不存在。”

请帮助解释问题所在并提出正确(且简单)的解决方案。

谢谢!

using System;

namespace Units
{
    class Archer
    {
        public int id;
        public int hp;
        public float speed;
        public float attack;
        public float defence;
        public float range;

        public void setProp(int id, int hp, float sp, float at, float de, float ra)
        {
            this.id = id;
            this.hp = hp;
            speed   = sp;
            attack  = at;
            defence = de;
            range   = ra;
        }

        public string getProp()
        {
            string str = "ID        = " + id +      "\n" …
Run Code Online (Sandbox Code Playgroud)

c# syntax-error

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

查询没有给出正确的值

SELECT 
    machine_id, operator_id, member_id, card_id, name, paid_amount, due_amount,
    paid_date, phone_number, @curRow := @curRow + 1 AS row_number 
FROM 
    transaction 
JOIN 
    (SELECT @curRow := 0) r where card_id='c1' order by Row_number desc limit 3 ;
Run Code Online (Sandbox Code Playgroud)

当我在工作台中运行它时,它返回最后3条记录.但在我的代码中它只返回2条记录.问题是什么?

这是c#代码:

String query3 = "SELECT machine_id,operator_id,member_id,card_id,name,paid_amount,due_amount,paid_date,phone_number ,@curRow := @curRow + 1 AS row_number FROM transaction JOIN  (SELECT @curRow := 0) r where card_id=@card order by Row_number desc limit 4 ";
MySqlCommand command3 = new MySqlCommand(query3, con);
command3.Parameters.AddWithValue("@card", cardid);

using (MySqlDataReader rdr3 = command3.ExecuteReader())
{
    if …
Run Code Online (Sandbox Code Playgroud)

c# mysql

-1
推荐指数
1
解决办法
53
查看次数