小编Phi*_*ipp的帖子

Windows 8上具有共享目标的InvalidCastException

我正在尝试使用Windows 8"Metro Styled Apps",MVVM Light,并希望创建一个共享目标 - 到目前为止一切顺利.但是如果我在OnShareTargetActivated方法中并且想要将项添加到ObservableCollection,我会在类类型和COM对象之间捕获InvalidCastException.

Das COM-Objekt des Typs"System.Collections.Specialized.NotifyCollectionChangedEventHandler"kann nicht in den Klassentyp"System.Collections.Specialized.NotifyCollectionChangedEventHandler"umgewandelt werden.Instanzen von Typen,die COM-Komponentenrepräsentieren,könnennichtin andere Typen umgewandelt werden,die keine COM-Komponentenrepräsentieren.Echn Umwandlung in Schnittstellen istjedochmöglich,sofern die zugrunde liegende COM-Komponente QueryInterface-AufrufefürdieIID derSchnittstelleunterstützt.

英文版:

无法将类型为"System.Collections.Specialized.NotifyCollectionChangedEventHandler"的COM对象强制转换为类类型"System.Collections.Specialized.NotifyCollectionChangedEventHandler".表示COM组件的类型实例不能转换为不代表COM组件的类型; 但是只要底层的COM组件支持对接口的IID的QueryInterface调用,它们就可以转换为接口.

现在我有点困惑,不知道如何正确处理这种行为.

MainViewModel main1 = new ViewModelLocator().Main;
MainViewModel main2 = new MainViewModel();
var conversation = new ConversationViewModel();
conversation.Messages.Add(new MessageViewModel { Image = img, Text = "Share" });
main1.Conversations.Add(conversation); // error InvalidCastException 
main2.Conversations.Add(conversation); // no error
Run Code Online (Sandbox Code Playgroud)

img新创建的BitmapImage 在哪里

ViewModelLocator

public class ViewModelLocator
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# mvvm-light windows-8 windows-runtime

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

json_decode到数组或对象

我发现了一个问题,有人问我,为什么我把输出json_decode变成一个关联数组.

对我来说,使用关联数组比使用stdClasses更容易,并且在解码json字符串之后,已经存在许多支持数据处理的array_*函数.

经过短暂的性能测试后,转换为assoc数组的转换速度比转换为stdClass快约20%.

不过,默认行为是$assoc = false.所以我想知道,在处理json数据时使用stdClasses的好处是什么.是否有任何json类型无法在assoc数组中表示,但在stdClasses中?

php json

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

MediaLibrary图片的InvalidOperationException

我有一个Windows手机应用程序,有时得到InvalidOperationExceptions但不知道为什么以及如何避免它们.错误报告中的问题函数是Microsoft.Xna.Framework.Media.MediaLibraryEnumerator_1[[System.__Canon,_mscorlib]].get_Item,我得到这个堆栈跟踪

"Frame    Image                             Function                                                                                                                                    Offset        
0        Microsoft.Xna.Framework.ni.dll    Microsoft.Xna.Framework.Media.MediaLibraryEnumerator_1[[System.__Canon,_mscorlib]].get_Item                                                 0x0003e4d8    
1        Microsoft.Xna.Framework.ni.dll    Microsoft.Xna.Framework.Media.MediaLibraryEnumerator_1[[System.__Canon,_mscorlib]].System.Collections.IEnumerator.get_Current               0x00000006    
2        Microsoft.Xna.Framework.ni.dll    Microsoft.Xna.Framework.Media.MediaLibraryEnumerator_1[[System.__Canon,_mscorlib]].System.Collections.Generic.IEnumerator_T_.get_Current    0x0000001c    
3        MapLense.ni.DLL                   MapLense.Helper.PictureMapping.Add                                                                                                          0x000000a8    
4        MapLense.ni.DLL                   MapLense.Helper.PictureMapping+_GetPicture_d__b.MoveNext                                                                                    0x000000f6    
5        mscorlib.ni.dll                   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess                                                                              0x00216c46    
6        mscorlib.ni.dll                   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification                                                         0x0000003a    
7        mscorlib.ni.dll                   System.Runtime.CompilerServices.TaskAwaiter_1[[System.__Canon,_mscorlib]].GetResult                                                         0x0000001c    
8        MapLense.ni.DLL                   MapLense.Helper.Map+_AddPictureToMap_d__17.MoveNext                                                                                         0x00000118    
9        mscorlib.ni.dll                   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess                                                                              0x00216c46    
10       mscorlib.ni.dll                   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification                                                         0x0000003a    
11       mscorlib.ni.dll                   System.Runtime.CompilerServices.TaskAwaiter_1[[System.__Canon,_mscorlib]].GetResult                                                         0x0000001c    
12       MapLense.ni.DLL                   MapLense.MainPage+_ViewModelOnPropertyChanged_d__1e.MoveNext                                                                                0x00000204    
13       mscorlib.ni.dll                   System.Runtime.CompilerServices.AsyncMethodBuilderCore._ThrowAsync_b__0                                                                     0x00000036"
Run Code Online (Sandbox Code Playgroud)

我还尝试在代码块周围添加一个try-catch块,但没有结果

public static bool Add(DBPicture dbpicture)
{
    if (Pictures.ContainsKey(dbpicture.UniqueID))
        return true;

    var root = new MediaLibrary().RootPictureAlbum;

    foreach …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous invalidoperationexception windows-phone-8

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

替换嵌套函数

我创建了一个ac程序,它使用了gnu扩展中的嵌套函数,现在我想让它们符合ansi c标准.

什么是转换嵌套函数的最佳方法,嵌套函数访问一些外部变量到不同的东西.

#define lambda(return_type, function_body) \
({ \
    return_type __fn__ function_body \
    __fn__; \
})
Run Code Online (Sandbox Code Playgroud)

示例用法

size_t var1;
size_t var2;
lambda(void, (...) {
    // some code
    lambda(void, (...) {
        // ...
        // do something with var1/var2
        // ..
    }

    // ...
    // do something with var1/var2
}
Run Code Online (Sandbox Code Playgroud)

我考虑过将变量移到全局范围,所以从每个"lambda"中都可以知道它们可能是最简单的解决方案,但我不想要考虑全局范围,我不确定,如果这是最干净的方式.


正如一些评论者所说 - 这是一个具体的例子

/* fill itt*/
int n_method = 0;
void *add_method = lambda(void, (ir_entity *method) {
    int itable_offset = n_method++;
    const char *method_name = get_entity_name(method);

    ir_entity *implementation = get_method_entity(klass, method_name); …
Run Code Online (Sandbox Code Playgroud)

c c99 nested-function

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

没有为组件CircleImageView的属性'border_width'找到资源标识符

如何解决以下编译器错误:

错误:(127)在'talkie.feedback'包中找不到属性'border_width'的资源标识符

错误:(127)在'talkie.feedback'包中找不到属性'border_color'的资源标识符

错误:(134,31)找不到与给定名称匹配的资源(在'border_color'处,值为'@ color/white').

XML

<de.hdodenhof.circleimageview.CircleImageView 
  xmlns:app="http://schemas.android.com/apk/res-auto" 
  android:id="@+id/imageView" 
  android:layout_width="150dp" 
  android:layout_height="150dp" 
  android:src="@mipmap/cat_judges" 
  app:border_width="2dp" 
  app:border_color="@color/white"/>
Run Code Online (Sandbox Code Playgroud)

android

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

使用PHP进行精确值搜索

我正在使用以下代码来搜索生成的表并过滤数据.我的问题是,当我搜索让我们说1,它不仅搜索和过滤,1而且还包含1类似的数据11, 21, etc..

如何搜索并过滤我输入的确切数据?

<?php

if(isset($_POST['search']))
{
    $valueToSearch = $_POST['valueToSearch'];
    // search in all table columns
    // using concat mysql function
    $query = "SELECT * FROM `tbstats` WHERE CONCAT(`date`, `mode`, `svar`, `sdev`) LIKE '%".$valueToSearch."%'";
    $search_result = filterTable($query);

}
 else {
    $query = "SELECT * FROM `tbstats`";
    $search_result = filterTable($query);
}


function filterTable($query)
{
    $connect = mysqli_connect("localhost", "root", "", "dbstats");
    $filter_Result = mysqli_query($connect, $query);
    return $filter_Result;
}

?>

<!DOCTYPE html>
<html>
    <head>
        <title>Stats</title> …
Run Code Online (Sandbox Code Playgroud)

php

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

带有php的线性插值库

我需要用php插入点,你知道任何库吗?传统搜索不允许我找到任何好结果.

我有一个表格,其中包含x和y列的值.

X          Y
10       676
20       894
30      1100
40      1200
50      1000
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个函数可以帮助线性插值.例如,我想要对应于X = 35的Y的插值.

谢谢

php interpolation

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