小编Jea*_*nal的帖子

将MSBuild批处理任务输出添加为项元数据

我在MSBuild文件中有一个项目列表:

<ItemGroup>
    <SubProject Include="**\*.csproj" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

现在,我想在每个项目TargetPath中为每个项目设置元数据属性.

我已经知道如何为每个项目提取目标路径,并将其放在单独的项目列表中:

<Target Name="ExtractTargetPaths">
    <MSBuild Projects="%(SubProject.Identity)" Targets="GetTargetPath">
        <Output TaskParameter="TargetOutputs" ItemName="SubProjectTargetPath" />
    </MSBuild>
</Target>
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够访问"SubProjectTargetPath"作为SubProject项目的元数据,而不是具有单独的项目列表.

也就是说,而不是写这样的:

<SomeTask Parameter="%(SubProjectTargetPath.Identity)" />
Run Code Online (Sandbox Code Playgroud)

我可以这样写:

<SomeTask Parameter="%(SubProject.TargetPath)" />
Run Code Online (Sandbox Code Playgroud)

.net msbuild msbuild-task

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

intel x86模拟器加速器与linux不兼容

我想使用intel x86仿真器加速器以获得更好的性能,因为其他仿真器在加载时由于机器配置较低而消失.我正在使用Linux Mint 32位.有什么方法可以启用它并使用它.

以下是该问题的屏幕截图: http://tinypic.com/r/1eunwh/5

android android-emulator

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

WeakEventDelegate实现 - 反馈请求

我刚刚WeakEventDelegate在.NET中实现了一个类.

我在http://code.logos.com/blog/2008/08/event_subscription_using_weak_references.htmlhttp://blogs.msdn.com/b/greg_schechter/archive/上看过其他文章以实现这样的效果.2004年/ 5月27日/ 143605.aspx

然而,我得到的实现不那么复杂(虽然不够灵活),似乎做了工作,所以我想知道是否有一些我错过了.

除了相对缺乏灵活性之外,以下实施是否有任何问题?

public class WeakEventDelegate<TEventArgs> 
    where TEventArgs : EventArgs
{
    private readonly WeakReference handlerReference;

    public WeakEventDelegate(Action<object, TEventArgs> handler)
    {
        handlerReference = new WeakReference(handler);
    }

    public void Handle(object source, TEventArgs e)
    {
        Action<object, TEventArgs> unwrappedHandler = (Action<object, TEventArgs>)handlerReference.Target;
        if (unwrappedHandler != null)
        {
            unwrappedHandler.Invoke(source, e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我写这个类的唯一目的是阻止从发布者到委托的隐式引用,以防止垃圾收集订阅者.

意思是,而不是写:

void subscribe()
{
    publisher.RaiseCustomEvent += this.HandleCustomEvent;
}
Run Code Online (Sandbox Code Playgroud)

我会写:

private readonly WeakDelegate<CustomEventArgs> _customHandler = new WeakDelegate<CustomEventArgs>(this.HandleCustomEvent);
void subscribe()
{
    publisher.RaiseCustomEvent …
Run Code Online (Sandbox Code Playgroud)

.net c# delegates garbage-collection

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

转换值时WPF绑定引擎的特殊值是什么?

我已经知道可以从IValueConverter实现返回的Binding.DoNothing,表示不应该进行其他操作.

但是,我找不到一个很好地总结的参考或文档,其他特殊值是什么 - 比如返回后备值.这些是什么?

.net wpf ivalueconverter imultivalueconverter

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

xml.etree.ElementTree.ParseError -- 异常处理未捕获错误

我正在尝试解析一个 xml 文档,该文档包含许多未定义的实体,当我尝试运行代码时,这些实体会导致 ParseError ,如下所示:

import xml.etree.ElementTree as ET

tree = ET.parse('cic.fam_lat.xml')
root = tree.getroot()

while True:
    try:
        for name in root.iter('name'):
            print(root.tag, name.text)
    except xml.etree.ElementTree.ParseError:
        pass

for name in root.iter('name'):
    print(name.text)
Run Code Online (Sandbox Code Playgroud)

该错误的示例如下,有许多未定义的实体都会抛出相同的错误: 错误描述

我只是想忽略它们,而不是进去编辑每一个。我应该如何编辑异常处理来捕获这些错误实例?(即,我做错了什么?)

python xml elementtree

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

在WPF功能区应用程序菜单中使用DataTemplate时,会出现其他嵌套级别

我正在使用Microsoft提供的WPF功能区控件.

问题在于,当我使用DataTemplate填充a时RibbonApplicationSplitMenuItem,我得到一个额外的嵌套级别,我认为不应该存在.

以下是相关的WPF代码:

<Window.Resources>
    <DataTemplate DataType="{x:Type cfg:PluginInfoConfigurationElement}" x:Key="GotoPluginAppMenuItem">
        <ribbon:RibbonApplicationMenuItem 
                                Header="{Binding Path=Key}"
                                ImageSource="{Binding Path=Image}"/>
    </DataTemplate>
</Window.Resources>

            <ribbon:RibbonApplicationMenu>
                <ribbon:RibbonApplicationSplitMenuItem x:Name="LoadPluginMenuItem" 
                   ItemsSource="{Binding Source={StaticResource NlpModel}, Path=AvailablePlugins}" 
                   Header="Plugins"
                   ItemTemplate="{StaticResource GotoPluginAppMenuItem}">
                </ribbon:RibbonApplicationSplitMenuItem>
                <ribbon:RibbonApplicationSplitMenuItem x:Name="LoadPluginMenuItem2" 
                                                       Header="Plugins">
                    <ribbon:RibbonApplicationMenuItem 
                                Header="FooPlugin"
                                ImageSource="Images/icon-32.png"/>
                    <ribbon:RibbonApplicationMenuItem 
                                Header="Invalid"
                                ImageSource="Images/icon-32.png"/>
                </ribbon:RibbonApplicationSplitMenuItem>
                <!-- Other items to fill the menu -->
            </ribbon:RibbonApplicationMenu>
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

使用DataTemplate http://img571.imageshack.us/img571/9915/screentemplate.png 使用数据模板.

我想要什么http://img43.imageshack.us/img43/9168/screendesired.png 没有模板.

如您所见,使用DataTemplate时会出现额外的嵌套级别.我怎么能防止这种情况?

.net wpf ribbon datatemplate

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

找出一个对象是否具有特定的类作为祖先

在C#中,如何查找给定对象是否具有特定的祖先?

例如,假设我有以下类结构.

ContainerControl
 |
 +----> Form
          |
          +--> MyNormalForm
          |
          +--> MyCustomFormType
                  |
                  +---> MyCustomForm

如果我有这样的方法:

 void MyCoolMethod (Form form)
Run Code Online (Sandbox Code Playgroud)

如何找到表单是否来自MyCustomFormType?

c# inheritance

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

在活动被终止之前,onDestroy() 可以花费多少时间?

我知道我的问题标题听起来一定很模糊。但让我在这里澄清一下。

假设我在中间件堆栈上有一个 android 应用程序。在我的活动的 onCreate() 中,我初始化了我的中间件模块。

在它的 onDestroy() 中,我必须取消初始化中间件。现在我的中间件调用可能需要相当长的时间来处理。所以我想知道 onDestroy() 函数有多少时间,看看我的取消初始化是否可以在这段时间内发生。

将我的 de-init 保留在 onDestroy() 中是否合理?

另外,假设我在活动 A1 的 onCreate() 中初始化中间件。单击按钮时,活动 A1 会切换到活动 A2。在内存不足的情况下,LMK 会终止一段时间未使用的活动。在这种情况下,活动 A1 不会被杀死吗?当活动 A1 被终止时,我在 A1 中创建的所有实例也会被销毁吗?

问候,琪琪

android destroy android-activity

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

OpenOffice.org Anywhere背后的技术是什么?

我能够通过网络浏览器启动开放式办公室,即使我没有开放式办公室的副本.

http://www.ooanywhere.com/

我可以知道背后的技术是什么?

(虽然推出的开放办公室很慢但没有响应)

谢谢.

openoffice.org web-applications

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

字符串数组[0]不传递if

大家好,我有一个问题:

我有一个阵列

String[] parte
Run Code Online (Sandbox Code Playgroud)

我需要数组的第一个值,所以我做了:

String verifica = parte[0] // It can be N (for Name) L (for List) and E (for Error)
Run Code Online (Sandbox Code Playgroud)

为什么我运行这个代码,我知道"verifica"是L

if (verifica == "L") { //If code
} else { //Else code
}
Run Code Online (Sandbox Code Playgroud)

它总是回到我的Else代码

谢谢你太多了

-Matteo

java arrays android if-statement

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