小编sla*_*voo的帖子

具有Action <T>参数的通用方法

所以,我确信之前已在某处回答过,但我无法在任何地方找到它.希望一些仿制药大师可以提供帮助.

public interface IAnimal{}
public class Orangutan:IAnimal{}

public void ValidateUsing<T>(Action<T> action) where T : IAnimal
{
    Orangutan orangutan = new Orangutan();
    action(orangutan);  //Compile error 1

    //This doesn't work either:
    IAnimal animal = new Orangutan();
    action(animal);  //Compile error 2
}
Run Code Online (Sandbox Code Playgroud)
  1. 参数类型'T'不能赋予参数类型'Orangutan'
  2. 参数类型'IAnimal'不能分配给参数类型'T'

编辑:基于Yuriy和其他人的建议,我可以做一些演员,如:

public void ValidateUsing<T>(Action<T> action) where T : IAnimal
{
    Orangutan orangutan = new Orangutan();
    action((T)(IAnimal)orangutan);

    //This doesn't work either:
    IAnimal animal = new Orangutan();
    action((T)animal);
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是调用ValidateUsing方法,如下所示:

ValidateUsing(Foo);  
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果foo看起来像这样:

private void Foo(Orangutan obj)
{
    //Do something
} …
Run Code Online (Sandbox Code Playgroud)

c# generics delegates

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

显示可点击的文字WPF

我想在GUI中呈现一些文本,并为用户提供双击它的能力.我想抓住这个事件并处理它.

我想这样做:

 <TextBlock   
        Height="39" 
        TextElement.FontSize="18" 
        FontFamily="Verdana"
        HorizontalAlignment="Left"
        VerticalAlignment="Center"
        Name="Filelink"
        Padding="5,0,0,0"
        TextDecorations="Underline"
        Text="{Binding Path=FilePath}"/>
Run Code Online (Sandbox Code Playgroud)

但似乎处理点击并不容易TextBlock.

任何想法是什么是呈现可点击文本的最佳方式.

谢谢.

c# wpf xaml

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

无法解决:android.support.design:28.0.0-rc02

我使用的是Android Studio 3.1.4.由于我想制作一个Tab Layout,我添加了代码implmentation 'com.android.support design:28.0.0-rc02',它与support.accompatbuild.gradle中的版本相同但出现错误.

我可以知道发生了什么事吗?我该如何解决这个问题?

谢谢你的帮助.

我的代码 X

错误信息 X

android-studio android-support-design

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

在同一个字段中选择升序和降序

___________________
| field1 | field1 |
|________|________|
|    A   |   E    |
|    B   |   D    |
|    C   |   C    |
|    D   |   B    |
|    E   |   A    |
|________|________|
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我做的sql选择就像上面的表有相同的字段相同的表?

select t1.c, t2.c from
(
    WITH cte AS
    (
        SELECT 
            c,
            ROW_NUMBER() OVER(ORDER BY c DESC) AS n,
            ROW_NUMBER() OVER(ORDER BY c ASC) AS m
        FROM @t
    )
    SELECT t1.c, t2.c
    FROM cte t1
    JOIN cte t2 ON t2.n = t1.m
)
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?

sql

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

使用LibGDX Gdx.files.internal加载.png文件时遇到问题

我正在尝试将纹理加载到libGDX,并且我找到了一个未找到文件的异常.

这是试图加载.png文件的代码.

//Textures
private Texture tiles;
private TextureRegion grassImage;
private TextureRegion dirtImage;
private TextureRegion stoneImage;

//Entities
private Texture entities;
private TextureRegion playerImage;

public WorldRenderer(World world, boolean debug) {
    this.world = world;
    this.camera = new OrthographicCamera(CAMERA_WIDTH, CAMERA_HEIGHT);
    this.camera.position.set(CAMERA_WIDTH/2f, CAMERA_HEIGHT/2f, 0);
    this.camera.update();
    this.debug = debug;
    spriteBatch = new SpriteBatch();
    loadTextures();
}

public void loadTextures() {
    tiles = new Texture(Gdx.files.internal("tiles.png"));
    grassImage = new TextureRegion(tiles, 0, 0, 32, 32);
    dirtImage = new TextureRegion(tiles, 0, 64, 32, 32);
    stoneImage = new TextureRegion(tiles, 64, 0, 32, …
Run Code Online (Sandbox Code Playgroud)

java libgdx

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

如何在Click事件中设置画布ZIndex WPF按钮控件?

我有三个按钮一个接一个地躺着.我想显示所有按钮的顶部,我点击.所以我在XAML Code中设置了canvas ZIndex.但我想在Code Behind中做到这一点.

我的XAML输出和代码 -

图片

<Button Name="Button1" Canvas.ZIndex="3" Content="Button1" Canvas.Top="100" Width="163" Height="58" FontSize="26" Click="Button1_Click" />
<Button Name="Button2" Canvas.ZIndex="2" Content="Button1" Canvas.Top="100" Canvas.Left="130" Width="163" Height="58" FontSize="26" Click="Button2_Click" />
<Button Name="Button3" Canvas.ZIndex="1" Content="Button1" Canvas.Top="100" Canvas.Left="260" Width="163" Height="58" FontSize="26" Click="Button3_Click" />
Run Code Online (Sandbox Code Playgroud)

我的XAML输出和代码(检查ZIndex如何更改) -

图片

<Button Name="Button1" Canvas.ZIndex="3" Content="Button1" Canvas.Top="100" Width="163" Height="58" FontSize="26" Click="Button1_Click" />
<Button Name="Button2" Canvas.ZIndex="2" Content="Button1" Canvas.Top="100" Canvas.Left="130" Width="163" Height="58" FontSize="26" Click="Button2_Click" />
<Button Name="Button3" Canvas.ZIndex="1" Content="Button1" Canvas.Top="100" Canvas.Left="260" Width="163" Height="58" FontSize="26" Click="Button3_Click" />
Run Code Online (Sandbox Code Playgroud)

我如何在Click事件中更改WPF按钮控件中的Canvas.ZIndex属性?

c# wpf xaml button

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

Facebook oAuth:强制发送电子邮件权限

StackOverflow和Untappd这样的网站如何"强制"用户接受他们的权限?

当我尝试使用JavaScript SDK时,我一直在使用范围对象来请求电子邮件地址,但我一直看到"编辑您提供的信息",允许用户不提供他们的电子邮件地址.我甚至尝试过手动构建登录流程,结果相同.

图片:

在此输入图像描述

由于我们允许用户通过Facebook在网站上注册,我们依赖于电子邮件地址在我们的数据库中创建一个帐户.

然而像StackOverflow和Untappd这样的网站没有提供这样的选项,我不得不接受这些权限.

那秘密是什么?我该如何实现这一目标?这是我在某个地方俯瞰的场景吗?还是需要"批准"?

facebook facebook-javascript-sdk facebook-php-sdk

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

laravel 5.2:命令"optimize"未定义

我正在研究laravel 5.2.

当我运行composer install和composer update命令时,它显示错误:

[InvalidArgumentException] Command "optimize" is not defined.
Run Code Online (Sandbox Code Playgroud)

请让我知道如何解决这个问题.

php laravel laravel-5

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

WebApi 与 Odata NextPage 和 Count 未出现在 JSON 响应中

我有一个 webapi 方法,我想打开 oData 分页等。我按照http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options中的示例进行操作

我的方法如下所示:

public PageResult<UserViewModel> GetUsers(ODataQueryOptions<UserViewModel> options)
{
    var settings = new ODataQuerySettings()
    {
        PageSize = 2
    };

    var results = UserLogic.GetUsers(userId, UserManager, _db);
    var filtered = options.ApplyTo(results, settings);

    var pagedResult = new PageResult<UserViewModel>(
        filtered as IEnumerable<UserViewModel>,
        Request.GetNextPageLink(),
        Request.GetInlineCount());
    return pagedResult;
}  
Run Code Online (Sandbox Code Playgroud)

计数已填充,下一页链接在那里,并且应用了正确的 oData 选项,即排序顺序等。当我在 api 方法中返回它时,会返回正确的数据,但计数和下一页链接不会出现在我的 json.

我是否缺少打开此功能的设置?

即这是我的 json 响应:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-RequestID: b215962b-6a4a-431d-9850-7ecbf808538e
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcUmVwb3NpdG9yaWVzXEdpdEh1YlxxbGRyYS1wb3J0YWxccWxkcmEtcG9ydGFsLldlYlxxbGRyYS5iYXNlbGluZS5hcGlcYXBpXHVzZXJz?=
X-Powered-By: ASP.NET
Date: …
Run Code Online (Sandbox Code Playgroud)

json odata asp.net-web-api

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

Web服务连接超时和请求超时之间的差异

WebClientTestService service = new WebClientTestService() ;
int connectionTimeOutInMs = 5000;
Map<String,Object> context=((BindingProvider)service).getRequestContext();
context.put("com.sun.xml.internal.ws.connect.timeout", connectionTimeOutInMs);
context.put("com.sun.xml.internal.ws.request.timeout", connectionTimeOutInMs);
context.put("com.sun.xml.ws.request.timeout", connectionTimeOutInMs);
context.put("com.sun.xml.ws.connect.timeout", connectionTimeOutInMs);
Run Code Online (Sandbox Code Playgroud)

请分享差异主要在连接超时和请求超时.

我需要知道这些参数值的推荐值.

设置超时值的标准是什么?

java soap

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