小编Mua*_*Dib的帖子

访问在子线程中实例化的字典项

我正在努力解决线程,并希望有人能够清楚地解释如何解决以下错误.

我有一个全局Dictionary<string, BitmapImage> dic,我在主线程中实例化.

主线程创建一个子线程,用图像填充字典.

然后主线程尝试访问字典并抛出异常

The calling thread cannot access this object because a different thread owns it

我没有问题访问字典本身,例如dic.ContainsKey("key")工作得很好,就在我尝试访问BitmapImage字典中发生错误时.

我猜这是因为存储在字典中的BitmapImages在子线程中被实例化并且它引起了一个问题 - 任何想法如何解决这个问题?

我在这里看了大量的线程教程和建议,但似乎其他地方告诉你如何从子线程访问父线程对象,而我正试图做相反的事情.

谢谢.

c# wpf multithreading

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

C#Xml从StringBuilder中解析

我有一个StringBuilder与XML文件的内容.XML文件内部是一个名为的根标记<root>,包含多个<node>标记.

我想解析XML以读取s中的标签值,但不知道如何做.

我是否必须使用一些C#XML数据类型?

提前致谢

c# xml stringbuilder

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

c#功能编码指南

我需要将值从一个类传递到另一个类,并问我最好的方法是什么.你怎么看?

一个)

public string getValue(){
   string returnValue;
   ClassA myClass = new ClassA();
   returnValue= myClass.getValue();
   return returnValue;
}
Run Code Online (Sandbox Code Playgroud)

b)

public string getValue(){
   return new ClassA().getValue(); 
}
Run Code Online (Sandbox Code Playgroud)

我不知道b是否存在编程风格错误等问题...

谢谢!

c# coding-style

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

Java继承错误:隐式超级构造函数未定义

我是Java的新手,只是学习OOP概念.请查看我的代码.我收到以下错误.- 隐式超级构造函数未定义.

class BoxSuper
{
    int height;
    int length;
    int width;

    BoxSuper(BoxSuper obj)
    {
        height=obj.height;
        length=obj.length;
        width=obj.width;
    }
    BoxSuper(int a,int b,int c)
    {
        height=a;
        length=b;
        width=c;
    }
    BoxSuper(int val)
    {
        height=length=width=val;
    }
    int volume()
    {
        return height*length*width;
    }
}

class BoxSub extends BoxSuper
{
    int weight;
    BoxSub(int a,int b,int c,int d)
    {
        height=a;
        length=b;
        width=c;
        weight=d;
    }
}
Run Code Online (Sandbox Code Playgroud)

java inheritance constructor

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

如何在C#中的两个程序之间发送数据?

我有两个应用程序 - > App1和App2.App1通过使用System.Diagnostic.Process()传递一些命令行参数来打开App2.用户现在可以访问App2.

但是,当用户更改App1中的某些命令参数时,我需要打开现有的应用程序(App2)而不使用新参数关闭它.

我怎样才能做到这一点?

任何反馈都会有所帮助.

c# wcf remoting c#-3.0

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

切换布尔问题

这段代码是用简单的ActionScript编写的,但我假设我的这个问题会出现在所有具有布尔数据类型的语言中.

我只是单击舞台,以便我的布尔变量反转其值,而不是跟踪/打印/记录它的新值.但是,它总是跟踪真实,而不是在每次鼠标点击时在true和false之间切换.

我究竟做错了什么?

var myBool:Boolean;

stage.addEventListener(MouseEvent.CLICK, mouseClickHandler);

function mouseClickHandler(evt:MouseEvent):void
    {
    changeBoolean(myBool);
    }

function changeBoolean(boolean:Boolean):void
    {
    boolean = !boolean;
    trace(boolean);
    }
Run Code Online (Sandbox Code Playgroud)

actionscript boolean toggle

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

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

如何让NON包含列表中的数据?

我有"包含"方法,但我需要一个"不包含"方法.有什么建议?

var ResultsOfMPD = (from m in engMpdMultiSelect
                    where engMpdMultiItems.Select(o => o.ENG_MPD_MYTECHNIC_TASK_NO).
                    Contains(m.ENG_MPD_MYTECHNIC_TASK_NO)
                    select m);
Run Code Online (Sandbox Code Playgroud)

有没有这样的方法?

var ResultsOfMPD = (from m in engMpdMultiSelect
                    where engMpdMultiItems.Select(o => o.ENG_MPD_MYTECHNIC_TASK_NO).
                    NOTContains(m.ENG_MPD_MYTECHNIC_TASK_NO)
                    select m);
Run Code Online (Sandbox Code Playgroud)

c# linq visual-studio-2008 visual-studio

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

在C#中播放mp3不使用MediaPlayer或XACT

我正在尝试为我的XNA游戏获取背景音乐,但XNA中的选项都要求将音频文件转换为.wav并作为项目资源包含在内.这对我来说不起作用有两个原因.首先,.wav文件非常庞大,对用户没有任何实际好处.其次,如果他们更喜欢自己的音乐,用户将无法拥有一个mp3替换文件夹.我有什么选择播放实际上不属于该项目的mp3?

c# audio xna background-music

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

为什么我不能枚举这个集合中的项目:?

对象数组是否可枚举?

在代码中查找注释

Public Class AddressCollection

    Inherits System.Collections.ObjectModel.Collection(Of AddressType)

    Public Sub New()

    End Sub

    Public Sub New(ByVal ParamArray addressTypeArray() As AddressType)

        For Each currentAddress As AddressType In Me

            If currentAddress IsNot Nothing Then '<<<<--NEVER HITS THIS LINE
                Me.Add(currentAddress)
            End If
        Next

        For i As Integer = 0 To addressTypeArray.Count - 1

            Dim currentAddress As AddressType = addressTypeArray(i) '<<< BUT IT DOES HIT THIS LINE

            If currentAddress IsNot Nothing Then
                Me.Add(currentAddress)
            End If

        Next

    End Sub
Run Code Online (Sandbox Code Playgroud)

.net vb.net

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