小编How*_*ard的帖子

安装签名应用程序时如何在Win8上通过智能屏幕?

我们是开发人员,我们有一个数字签名应用程序安装程序.当我们安装此应用程序时,它会弹出影响安装体验的智能屏幕.它说

Windows保护您的PC

Windows SmartScreen阻止了无法识别的应用程序启动,运行此应用程序可能会使您的PC面临风险.

我认为除了数字签名之外,微软还有一些策略来验证应用程序.有没有人有这个问题的经验,请给我一些线索来解决这个问题?

c# windows-installer

74
推荐指数
5
解决办法
6万
查看次数

如何在 Go 中创建泛型方法?(方法必须没有类型参数)

Golang 1.18beta支持泛型,我想在泛型切片上添加扩展方法。例如,地图函数定义如下:

func Map[E, V any](slice *[]E, iteratee func(E) V) *[]V {
    result := []V{}
    for _, item := range *slice {
        result = append(result, iteratee(item))
    }

    return &result
}
Run Code Online (Sandbox Code Playgroud)

然后我想把这个方法作为slice的扩展方法,像这样,但是无法编译成功:

func (slice *[]E) Map[E, V any](iteratee func(E) V) *[]V {
    result := []V{}
    for _, item := range *slice {
        result = append(result, iteratee(item))
    }

    return &result
}
Run Code Online (Sandbox Code Playgroud)

go buildGo 1.18 给出错误:

main.go: method must have no type parameters
Run Code Online (Sandbox Code Playgroud)

实现第二个代码块的正确方法是什么?

我想这样使用:

slice := []string{"a", "b", "c"}
newSlice := …
Run Code Online (Sandbox Code Playgroud)

generics methods go

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

在Swift2中断开更改以获取没有扩展名的文件名

在Swift1中,我们可以通过以下代码获得没有扩展名的文件短名称:

self.name = pathFilename.lastPathComponent.stringByDeletingPathExtension
Run Code Online (Sandbox Code Playgroud)

当我更新到Swift 2时,此API不再可用.有了警告信息,我必须使用NSURL.所以新代码将是:

var filename = NSURL(fileURLWithPath: str).lastPathComponent
filename = NSURL(fileURLWithPath: filename!).URLByDeletingPathExtension?.relativePath
Run Code Online (Sandbox Code Playgroud)

这是太复杂的API破坏性变化.有没有更好的方法可以使它更简单?

filenames ios swift2

7
推荐指数
3
解决办法
4461
查看次数

好奇的mscorlib参考

我很好奇mscorlib不同项目模板中的参考.

当我创建一个WPF项目时,我mscorlib在参考文件夹中找不到该文件.我认为它是默认引用的.

当我创建一个Silverlight项目时,我可以在文件夹中找到它.它链接到Silverlight框架.然后我试图删除它,当然它无法编译.然后我试着再次将这个组件添加到参考中; 它无法添加,无法再编译.有点奇怪.

当我创建一个MonoDroid项目时,我仍然可以找到该mscorlib引用.但在删除此引用后,该项目仍然可以编译; 但我不确定它是否运行良好.

有谁知道这种行为的原因是什么?

谢谢,霍华德

.net silverlight frameworks mscorlib

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

IComparer问题

我有一个奇怪的问题,我没有线索来追踪原因.我会试着清楚地描述我的问题.

我有一个RTree类,在这个类中,我想比较两个rectanlge(这里我称为信封,它包含minX,minY,maxX,maxY),所以我们有一个比较器类如下:

private class AnonymousXComparerImpl : IComparer
{
    public AnonymousXComparerImpl()
    { }

    public int Compare(object o1, object o2) 
    {
        IEnvelope ea = (IEnvelope)((IBoundable)o1).Bounds;
        IEnvelope eb = (IEnvelope)((IBoundable)o2).Bounds;
        double a = (ea.MinX + ea.MaxX) / 2d;
        double b = (eb.MinX + eb.MaxX) / 2d;
        return a > b ? 1 : a < b ? -1 : 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用这个比较器,我们可以维护一个信封的ArrayList并轻松排序,随机添加信封.当我们调用以下代码并且我们遇到了

无法排序,因为IComparer.Compare()方法返回不一致的结果.值不比较等于自身,或者重复一个值与另一个值相比产生不同的结果.

sortedChildBoundables.Sort(new AnonymousXComparerImpl());
Run Code Online (Sandbox Code Playgroud)

这是奇怪的部分.此错误仅发生在未安装VistualStudio的.net 4.0中.如果机器安装了VS或.net 4.5,则此问题无法再次进行再处理.

在这种情况下,我无法弄清楚它为什么会发生.如果你有任何关于解决这类问题的经验,那将是很棒的,我很感激.

谢谢,霍华德

.net c# icomparer r-tree

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

在Java中创建T的新实例

在C#中,我们可以定义一个泛型class A<T> where T : new().在这段代码中,我们可以创建一个Twith 的实例new T().这是如何在Java中实现的?我读了一些文章说这是不可能的.

我使用的原因是在C#中使用泛型的单例模式:

public static class Singleton<T> where T : new()
{
    private static T instance;

    public static T Instance
    {
        get 
        {
            if (instance == null)
            {
                instance = SingletonCreater.Instance;
            }
            return instance;
        }
    }

    static class SingletonCreater
    {
        internal static readonly T Instance = new T();
    }
}
Run Code Online (Sandbox Code Playgroud)

并且方法使这种方法更优雅?

c# java generics design-patterns

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

如果应用程序创建未显示的窗口,则不会退出

假设我有一个带按钮的WPF应用程序.在buttom click事件中,我创建了一个System.Windows.Window实例.出于某种原因,我忘了调用window.ShowDialog()并离开那里.当我的主应用程序启动时,然后单击按钮,没有任何原因发生.但是,当我想退出此应用程序时,主窗口关闭,但该过程仍在运行.我不确定为什么会导致这种行为.它很容易修复,但有人知道

c# wpf window exit

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