小编ica*_*tan的帖子

用户控制的FocusLost [wpf]

FocusLost事件正在正确处理WPF的组件对于用户控件它是不同的:

如果单击或聚焦用户控件中的任何控件,则会立即触发User-Control的FocusLost!我怎么能阻止它呢?

我无法解决这个问题:(

c# wpf events user-controls focus

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

如何使用通用字段初始化匿名结构数组

我想了解是否可以初始化包含通用字段的匿名结构数组。下面的代码无法编译,而且我找不到与以下内容相关的任何示例:

    testCases := type [K comparable, T Numeric] []struct   {
        name     string
        args     map[K]T
        expected int
    }{
        // items ...
        {"integer", map[string]int{ "a":1 },
    }
Run Code Online (Sandbox Code Playgroud)

如果没有匿名结构,这很容易,但不是目的:

    type args[K comparable, T Numeric] struct {
        m map[K]T
    }
    testCases := []struct {
        name     string
        args     args[string, int]
        expected int
    }{}
Run Code Online (Sandbox Code Playgroud)

谢谢!

generics struct go

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

扩展或静态功能?

我正在开发一个中等规模的项目,其中的表现非常重要.我找不到(实际上无法理解)静态和扩展函数之间的区别.

例如:

public static class My
{
    public static Vector2 MyTransform(this Vector2 point, float Rotation)
    {
        //....
       return MyVector;
    }

    public static Vector2 MyTransform(Vector2 point, float Rotation)
    {
        //....
       return MyVector;
    } 
}
Run Code Online (Sandbox Code Playgroud)

使用这些函数仅在其实例上调用扩展函数:

  1. Vector2 calc = myVector.MyTransform(0.45f);
  2. Vector2 calc = My.MyTransform(myVector,0.45f)

您更喜欢使用哪一种,或者更喜欢使用哪种?为什么?

谢谢 !

c# static function

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

检查一个特定进程是否在使用C++的Windows上运行

psapi或windows.h中是否有任何函数可以通过只有进程名称(例如:"chrome.exe")运行,而不需要获取所有进程.

编辑:

如果任何人需要通过运行所有进程列表来获取所需的进程信息,我可以在此处粘贴我的代码.它适用于xp机器并使用vs 2008编译.

我也为我的问题找到了解决方案!但根据msdn,函数已经通过进程运行并检查没有扩展名的名称.不久,它搜索"chrome"并返回chrome列表.*

这个函数有一个很好的优点,它返回列表中的进程,它可能是一个exe可能与may实例一起运行.缺点CLR是必需的,它运行速度比psapi函数慢,并且它有额外的转换要求,例如String ^ to wchar或String(我没有测试过)

c++ windows

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

如何通过 Golang 跳过空数组的 json 验证

我想跳过对特定字段的 json 文件中的空数组的验证。下面您可以看到 Book 结构定义,如果 json 文件中没有声明作者,则可以验证该定义。另一方面,如果为作者定义了空数组,则会失败。是否可以使用现有标签实现此行为,或者我是否必须定义自定义验证器?

type Book struct {
    Title      string `json:"title" validate:"min=2"`
    Authors    `json:"authors" validate:"omitempty,min=1,dive,min=3"`
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我通过“github.com/go-playground/validator/v10”包的验证器验证 Book 结构:

    book := &Book{}
    if err := json.Unmarshal(data, book); err != nil {
        return nil, err
    }

    v := validator.New()
    if err := v.Struct(book); err != nil {
        return nil, err
    }
Run Code Online (Sandbox Code Playgroud)

作品:

{
    "title": "A Book"
}
Run Code Online (Sandbox Code Playgroud)

失败并显示“密钥:‘Book.Authors’错误:‘Min’标签上‘Authors’的字段验证失败”

{
    "title": "A Book",
    "authors": []

}

Run Code Online (Sandbox Code Playgroud)

validation json go

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

XNA draw : 在整个游戏中使用一个 spritebatch

我正在开发 XNA 游戏。这是我对架构小心翼翼的时候了。直到今天,我一直以这种方式实现我自己的绘制方法:

public void Draw(SpriteBatch sb, GameTime gameTime)
{
    sb.Begin();
    // ... to draw ...
    sb.End();
}
Run Code Online (Sandbox Code Playgroud)

我正在挖掘 DrawableGameComponent 并看到 Draw 方法是这样来的:

public void Draw(GameTime gameTime)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

首先,我知道SpriteBatch 可以在Begin 和End 之间收集许多Texture2D,以便对它们进行排序或使用相同的Effect 进行绘制很有用。

我的问题是关于通过 SpriteBatch 的性能和成本。在 DrawableGameComponent 中,如果 spritebatch 是公开的,则可以调用游戏对象的 spritebatch。

有什么建议,xna-game 程序员应该做什么?

谢谢指教。

xna spritebatch

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

XNA ContentManager如何处理内存

我的问题在标题上不明确[我不能完全写出来]

例如 Texture2D picture = Content.Load<Texture2D>("myPicture");

如果上面的代码运行,内存会发生什么?据我所知,Content将"myPicture"缓存到内存并返回对Texture2D图片的引用.我错了吗 ?如果将"myPicture"加载到另一个Texture2D对象,则"myPicture"不会重复,因此它只返回一个引用.

每个文件(或内容文件)是否通过内容加载到内存(也在Ram上分配)而不重复?(我相信我的问题应该检查上面写的所有内容)

谢谢 !

xna content-management

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

Touch和Stylus WPF有什么区别

我想为我的wpf api添加触控功能.我很困惑如何使用.有手势,触摸和手写笔.

我无法找到Stylus和Touch彼此不同的地方.

谢谢

wpf touch

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

方法的C#默认值 - 编译错误:编译时常量

private static Vector2 DefaultMulFactors = new Vector2(0.5f, 0.5f);
private static Point DefaultShifts = new Point(0,0);

public static Vector2 Function(Vector2? mulFactors = MyClass.DefaultMulFactors , Point? shifts = MyClass.DefaultShifts  )
{ 
    ...
    return result;
}
Run Code Online (Sandbox Code Playgroud)

为什么我的代码不接受我的静态值?如何为我的函数参数指定默认参数?确实Vector2? mulFactors = new Vector(0.2,0.3)Vector2? mulFactors = Vector2.Zero不起作用.

c# xna default-value

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

随机和种子,生成相同的值?

我正在开发一个小型XNA游戏,

 for (int birdCount = 0; birdCount < 20; birdCount++)
            {
                Bird bird = new Bird();
                bird.AddSpriteSheet(bird.CurrentState, birdSheet);
                BIRDS.Add(bird);
            }
Run Code Online (Sandbox Code Playgroud)

上面的代码在Load函数中运行,BIRDS是所有Bird的代码.

鸟类构造函数随机定制鸟.如果我通过breakPoint运行代码breakPoint,则随机函数会生成不同的值,但如果我不停止代码并让程序运行,则所有随机值都会变为相同,以便所有的鸟都变得相同.

我怎么解决这个问题 ?

随机和种子的代码:

 private void randomize()
    {
        Random seedRandom = new Random();
        Random random = new Random(seedRandom.Next(100));
        Random random2 = new Random(seedRandom.Next(150));

        this.CurrentFrame = random.Next(0, this.textures[CurrentState].TotalFrameNumber - 1);

        float scaleFactor = (float)random2.Next(50, 150) / 100;
        this.Scale = new Vector2(scaleFactor, scaleFactor);

        // more codes ...

        this.Speed = new Vector2(2f * Scale.X, 0);
        this.Acceleration = Vector2.Zero;
    }
Run Code Online (Sandbox Code Playgroud)

c# random xna

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