问题列表 - 第4890页

是否有任何问题从一个从未被吸引过的事件中取消代理?

我在C#下使用标准的Windows窗体控件.

我有两个控件,它们是设置单个值的不同方法.因此,当更改一个时,更改的事件处理程序计算另一个的值并设置它.所以我需要暂时取消第二个控件上的更改事件以防止循环(更改B,B更改以便更改A,A更改...).还有一些其他情况我需要停止更改事件.所以有几个地方我需要解开事件,只有一个地方需要挂钩.

我的问题是:我是否需要跟踪事件是否已被挂钩,还是我可以根据自己的喜好多次取消它,并且偶尔会再次挂钩?(有没有解决这个问题的文件?)

.net c# events

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

如何在XAML中使用给定枚举中的所有项填充WPF组合框?

假设我有一个包含四个值的枚举:

public enum CompassHeading
{
    North,
    South,
    East,
    West
}
Run Code Online (Sandbox Code Playgroud)

使用这些项目填充ComboBox需要什么样的XAML?

<ComboBox ItemsSource="{Binding WhatGoesHere???}" />
Run Code Online (Sandbox Code Playgroud)

理想情况下,我不必为此设置C#代码.

.net data-binding wpf enums combobox

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

在iCalendar Feed上设置更新限制

我有一个日历源(.ics)可以从我的应用程序中获得,但它非常大,因为它包含超过4,000个事件.在指定下载了多少事件或日历应该向后或向前移动多远时,是否有标准或最佳实践?

我的主要问题是,如何在日历上配置或设置更新限制,以便用户使用Outlook订阅日历,它仅每隔几小时更新一次.我目前已将我的Feed缓存了几个小时,但如果我可以使用Outlook或用户使用的任何客户端,则每隔几小时检查更新一次是理想的.

icalendar feeds

16
推荐指数
2
解决办法
9032
查看次数

如何在log4net中过滤自定义级别?

我复制了log4net示例以实现自定义日志级别AUDIT.我将AUDIT定义为值35000,介于DEBUG 30000和INFO 40000之间.

以下是我的配置部分.我有一个appender记录所有级别和一个应该只记录AUDIT级别(这只是为了测试)

<log4net>
  <appender name="FileAppender" type="log4net.Appender.FileAppender" >
    <file value="testrun.log" />
    <layout type="log4net.Layout.PatternLayout" >
      <conversionPattern value="%date{HH:mm:ss:fff} [%thread] %-5level %logger{1} - %message%newline" />
    </layout>
  </appender>
  <appender name="FileAppender.Audit" type="log4net.Appender.FileAppender" >
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="AUDIT" />
    </filter>
    <file value="testrun.audit.log" />
    <layout type="log4net.Layout.PatternLayout" >
      <conversionPattern value="%date{HH:mm:ss:fff} [%thread] %-5level %logger{1} - %message%newline" />
    </layout>
  </appender>  
  <root>
    <level value="ALL" />
    <appender-ref ref="FileAppender" />
    <appender-ref ref="FileAppender.Audit" />
  </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

测试方法是

private static readonly IAuditLog log = AuditLogManager.GetLogger(typeof(Program));
public static void Main()
{
    log.Debug("Debug");
    log.Audit("Audit");
    log.Info("Info");
} …
Run Code Online (Sandbox Code Playgroud)

.net configuration logging log4net

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

何时使用IComparable <T> Vs. 的IComparer <T>

我想弄清楚我需要实现哪些接口.它们基本上都做同样的事情.我何时会使用一个而不是另一个?

.net icomparable icomparer

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

通过反射获取List <T>中的包含类型?

通过反思,有什么方法让我看一下通用List的包含类型,看看该集合的类型是什么?例如:

我有一组简单的业务对象,它们来自一个接口,如下所示:

public interface IEntityBase{}  

public class BusinessEntity : IEntityBase   
{
    public IList<string> SomeStrings {get; set;}       
    public IList<ChildBusinessEntity> ChildEntities { get; set;}
} 

public class ChildBusinessEntity : IEntityBase{}
Run Code Online (Sandbox Code Playgroud)

在我通过反射迭代BusinessEntity属性的情况下,有没有办法让我看看对象是否嵌套在从IEntityBase派生的那些列表中?

编码(严重)像这样:

foreach(PropertyInfo info in typeof(BusinessEntity).GetProperties())
{
  if(info.PropertyType is GenericIList &&
     TheNestedTypeInThisList.IsAssignableFrom(IEntityBase)
  {
    return true;
  }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我所听到的唯一选择是从该列表中取出第一个项目,然后查看其类型.任何更简单的方法(特别是因为我无法保证List不会为空)?

.net c# generics reflection

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

php - 如何缩短字符串输出?

即时通讯使用PHP

如果我输出一个未知的字符串长度怎么能将它限制为只输出16个字符?

php

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

Maven包.bat脚本:如何添加延迟?

我有这个.bat脚本,我用它来maven打包我的应用程序.问题是,在它结束执行后,它会关闭控制台窗口.最后两行完全被忽略了.

有谁知道让这项工作的诀窍?我只是想快速检查一下构建是否成功.

@echo off
cls
cd C:\svn\project
mvn package -o -P local
sleep 3
pause
Run Code Online (Sandbox Code Playgroud)

scripting maven-2 batch-file

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

动态访问flash actionscript 2中的嵌套影片剪辑

我有一个我想要访问的嵌套影片剪辑实例.影片剪辑的路径由两个变量(类似于行和列)定义.

我已经动态访问父级影片剪辑,如下所示:

eval("row"+ ActiveRow)

现在我想要动态地访问一个名为#(#)的行(#)的子项.

以下是我完成任务的最佳猜测(两者均无效):

var i:number;

eval("row"+ ActiveRow +".let"+ i)或eval("row"+ ActiveRow).eval("let"+ i)

非常感谢您的努力和可能的解决方案..

variables flash actionscript-2 dynamic movieclip

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

使用dllexport从DLL导出函数

我想要一个从C++ windows DLL导出函数的简单示例.

我想看看标题,cpp文件和def文件(如果绝对需要).

我希望导出的名称不加修饰.我想使用最标准的调用约定(__stdcall?).我想使用__declspec(dllexport)而不必使用DEF文件.

例如:

  //header
  extern "C"
  {
   __declspec(dllexport) int __stdcall foo(long bar);
  }

  //cpp
  int __stdcall foo(long bar)
  {
    return 0;
  }
Run Code Online (Sandbox Code Playgroud)

我试图避免链接器为名称添加下划线和/或数字(字节数?).

我没有支持使用相同标头的dllimport和dllexport.我不想要任何有关导出C++类方法的信息,只需要c风格的全局函数.

UPDATE

不包括调用约定(并使用extern"C")给出了我喜欢的导出名称,但这意味着什么?是什么默认调用约定我得到什么pinvoke(.NET),声明(vb6)和GetProcAddress会期望?(我猜对于GetProcAddress,它将取决于调用者创建的函数指针).

我希望在没有头文件的情况下使用这个DLL,所以我真的不需要很多花哨的#defines来使调用者可以使用头文件.

我的回答是我必须使用DEF文件.

dll winapi visual-c++ name-decoration

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