小编nvo*_*igt的帖子

.Net的免费/开源应用程序换肤解决方案?

什么是可用于皮肤化/在.Net Winforms中创建应用程序的开源替代品

我已经阅读过有关使用UXTheme库的内容(我不知道如何去da :) :)但是这对Win XP到Win7有效

.net c# winforms

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

我真正意味着什么?

这个问题已被多次询问,"i ++和++ i之间有什么区别".接受的答案i ++和++ i有什么区别?我在很多其他地方也看到过这种语言,就是说,"i ++意味着'告诉我i的价值,然后增加',而++我的意思是'增加i,然后告诉我价值'.

让我感到困惑的是,我不知道在任何一种情况下我们都在讨论为i取回一个值.我认为i ++在语法上等同于:

i = i + 1;
Run Code Online (Sandbox Code Playgroud)

这是一个陈述,而不是表达,所以我不明白我在哪里被退回.

你能否说出声明的实际含义?

谢谢,

c#

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

如何将 BorderRadius 赋予 SliverList

我在我的项目中使用SliverAppBarSliverListView

我需要BorderRadius我的SliverList那是我的SliverAppBar.

这是我需要的屏幕截图:

在此处输入图片说明

这是我的代码:

Scaffold(
    body: CustomScrollView(
      slivers: <Widget>[
        SliverAppBar(
            backgroundColor: Colors.transparent,
            brightness: Brightness.dark,
            actions: <Widget>[
              IconButton(icon: Icon(Icons.favorite), onPressed: () {}),
              IconButton(icon: Icon(Icons.share), onPressed: () {})
            ],
            floating: false,
            pinned: false,
            //title: Text("Flexible space title"),
            expandedHeight: getHeight(context) - MediaQuery.of(context).padding.top,
            flexibleSpace: Container(
              height: double.infinity,
              width: double.infinity,
              decoration: BoxDecoration(
                image: DecorationImage(
                  fit: BoxFit.cover,
                  image: AssetImage("assets/images/Rectangle-image.png")
                )
              ),
            ),
            bottom: _bottomWidget(context),
          ),
           SliverList(
            delegate: SliverChildListDelegate(listview),
          ),
      ],
    ),
  )
Run Code Online (Sandbox Code Playgroud)

所以,有了这段代码,用户界面就像这样......

在此处输入图片说明

可以建议我可以采取的任何其他方法来实现这种设计......

dart flutter flutter-sliver flutter-layout

8
推荐指数
3
解决办法
2663
查看次数

如何在 Flutter 中将默认填充存储在 Theme.of() 中?

据我了解,我应该通过 Theme.of() 访问 flutter 中的样式常量。在 Android 中,我会将它们存储在dimens.xml. 在我看来,ThemeData 中的所有条目都与填充量无关,而且似乎也不可能添加新条目。我应该在哪里存储填充量的常量?

padding flutter flutter-layout flutter-theme

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

Visual Studio 2019 中缺少“删除未使用的引用”

我想知道为什么我的 Visual Studio 在右键菜单项目和引用两者上缺少“删除未使用的引用”。缺少菜单项

请不要告诉我尝试将packages.config 迁移到PackageReference,我只是这样做了,但没有任何变化。

visual-studio-2019

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

对复合集合进行排序

因此,WPF不支持CompositeCollections视图的标准排序或过滤行为,因此解决此问题的最佳做法是什么.

有两个或更多不同类型的对象集合.您希望将它们组合成单个可排序和可过滤的集合(必须手动实现排序或过滤).

我考虑过的一种方法是创建一个只有少数核心属性的新对象集合,包括我希望对集合进行排序的属性,以及每种类型的对象实例.

class MyCompositeObject
{
    enum           ObjectType;
    DateTime       CreatedDate;
    string         SomeAttribute;
    myObjectType1  Obj1;
    myObjectType2  Obj2;
{
class MyCompositeObjects : List<MyCompositeObject> { }
Run Code Online (Sandbox Code Playgroud)

然后遍历我的两个对象集合来构建新的复合集合.显然这是一种蛮力方法,但它会起作用.我将获得新的复合对象集合上的所有默认视图排序和过滤行为,并且我可以在其上放置数据模板以根据实际存储在该复合项目中的类型来正确显示列表项目.

有什么建议以更优雅的方式做到这一点?

.net c# data-binding collections wpf

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

利用可选参数边缘情况通过滥用语言的界面强制实现ToString?

我有一个接口IKey,我想有一个方法,将键作为字符串返回.我们考虑过这样的方法:

String GetAsString();
Run Code Online (Sandbox Code Playgroud)

它将返回字符串表示,但希望能够ToString()在界面中再次声明以强制实现者实现它,但它并没有强制它们,因为它们具有继承自的实现Object.有人建议:

public interface IKey
{
    string ToString(string dummyParameter=null);
}
Run Code Online (Sandbox Code Playgroud)

这会强制在任何实现类中实现该方法,但是由于可选参数的工作方式,调用者不需要为此提供值,并确保ToString()对作为接口的对象的方法的任何调用IKey或者实现类将始终调用类实现而不是Object实现.

在实现中,我们可以忽略dummyParameter并返回我们想要的东西,安全地知道调用ToString()将始终实际调用ToString(null).

现在这对我来说都是错误的,但与此同时它确实有一些相当不错的东西.它几乎与拥有一个方法完全相同,因为它GetAsString()只能在IKey接口和派生类上调用,除了它看起来像ToString()我们想要使用的更自然的方法,并且我们能够强制在子类中实现它.

说过没有使用的伪参数感觉不对.

这可怕吗?还是很棒?

这个问题是适合SO还是适用于程序员?

例子

public class Key :IKey 
    { 
        public string ToString(string abc = null) 
        { 
            return "100"; 
        } 
    }

Key key = new Key ();
Trace.WriteLine (key.ToString());
Trace.WriteLine (key.ToString(null));
Trace.WriteLine (key.ToString("ac"));
Trace.WriteLine (((object)key).ToString());
Run Code Online (Sandbox Code Playgroud)

输出:

100
100
100
Blah.Tests.Key
Run Code Online (Sandbox Code Playgroud)

c# optional-parameters

7
推荐指数
2
解决办法
208
查看次数

使用计时器和游戏循环

我正在构建一个简单的控制台游戏,当按键按下时有一个移动的玩家,并且有自动移动的敌人,每种类型的敌人在X毫秒内移动一次.

据我timer所知,我应该使用它,但我真的不知道如何在游戏循环中做到这一点(还没有建立,因为我不知道如何处理计时器.但它应该是while loop我认为).当敌人"触摸"玩家时(同样的x和y),游戏结束.

一件重要的事情:我不能参加这个练习Thread,但如果你有其他建议而不是使用Timer你,欢迎你.

谢谢.

c#

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

检查有效日期

所以我试图找出是否有另一种方法来检查日期是否有效.因此,我们的想法是,如果日期有效,则继续使用给定日期,如果日期无效则使用今天的日期.

这就是我现在所得到的:

        public void setBirthdate(int year, int month, int day)
        {
        if (month < 1 || month > 12 || day < 1 || day > DateTime.DaysInMonth(year, month))
        {
            Birthdate = DateTime.Today;
        }
        else
            Birthdate = new DateTime(year, month, day);
        }   
Run Code Online (Sandbox Code Playgroud)

那么这样做有更短/更可读的方式吗?

提前致谢

c# datetime date

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

如何在 Dart/Flutter 中泛化可选参数

当我尝试创建一些接口并需要使用泛型来实现它们时,我遇到了问题。 我的问题是如何使用类似的无类型

Kotlin 中没有任何内容

Java 中无效

例子:

我有一个基类

abstract class Base<Out, In> {
  Future<Out> perform(In);
}
Run Code Online (Sandbox Code Playgroud)

我用的是正常情况,完美

class Download implements Base<bool, String> {

  @override
  Future<bool> perform(downloadUrl) async {
    // do download and return result here
  }
}
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我不需要包含任何参数。但它需要 2 个泛型类型,所以我必须包含 void 作为输入

class DoSomething implements Base<bool, void> {

  @override
  Future<bool> perform(_) async {
    // do some thing here, no use the input parameter
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,当在 DoSomething 类中调用执行函数时,它会将 void 视为与 Java 不同的函数类型,它需要一个输入参数,而不是什么都没有

DoSomething().perform((){});
Run Code Online (Sandbox Code Playgroud)

我不想在执行函数中包含任何参数。请给我任何处理此案的建议和解决方案。

generics android dart flutter

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