小编l33*_*33t的帖子

C#变量范围不一致?

在变量范围方面,C#非常适合挑选.它怎么可能接受这个代码:

class Program
{
    int x = 0;

    void foo()
    {
        int x = 0;
        x = 1;

        Console.WriteLine(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你问我,这是一个明显的命名冲突.编译器(VS 2010)仍然接受它.为什么?

c# scope

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

从org.apache.http.HttpResponse获取建议的文件名

在Android中,您可以下载使用文件org.apache.httpHttpClient,HttpGetHttpResponse.如何从HTTP请求中读取建议的文件名?

例如在PHP中,你会这样做:

header('Content-Disposition: attachment; filename=blah.txt');
Run Code Online (Sandbox Code Playgroud)

如何使用Android/Java中的Apache类获取"blah.txt"?

android http-get httpresponse httpclient content-disposition

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

如何将可编辑的组合框添加到System.Windows.Forms.PropertyGrid?

我有一个System.Windows.Forms.PropertyGrid不同类型的价值观.对于特定项目,我想显示可供选择的有用值列表.用户还可以键入新值.类似于传统下拉组合框的东西:

在此输入图像描述

到目前为止,我有自己的System.ComponentModel.TypeConverter,但我无法弄清楚如何获得建议值的下拉列表直接编辑值的可能性.请帮忙!

.net c# propertygrid typeconverter

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

如何使用另一个位图作为掩码绘制位图?

我想使用另一个位图作为掩码绘制位图.掩码是一个黑色位图,其中包含透明对象.我希望这个透明部分填充任意颜色并添加到我的原始图像.如何才能做到这一点?

在此输入图像描述

+

在此输入图像描述

+蓝色=

在此输入图像描述

android mask porter-duff

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

如何阅读其他应用的SharedPreferences(相同的用户ID)?

在Android 4.3上测试过.我有两个应用程序,com.my.app.firstcom.my.app.second.在我的活动中,我想阅读其他应用程序的首选项.我选择为我的两个应用使用相同的用户ID:

android:sharedUserId="com.my.app"

我总是这样加载我的偏好:

prefs = getSharedPreferences("MyAppPreferences", Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)

现在,在我的第二个应用中,我执行以下操作:

try {
    Context context = createPackageContext("com.my.app.first", Context.CONTEXT_IGNORE_SECURITY);
    // context.getPackageName() does indeed return "com.my.app.first"

    // Note: Context.MODE_WORLD_READABLE makes no difference here!
    prefs = context.getSharedPreferences("MyAppPreferences", Context.MODE_PRIVATE);
}
Run Code Online (Sandbox Code Playgroud)

prefs.mFile错误地指向/data/data/com.my.app.second/shared_prefs/MyAppPreferences.xml.

显然,即使我使用了其他应用程序的上下文,getSharedPreferences的调用也会返回当前应用程序首选项.我究竟做错了什么?请帮忙!

android sharedpreferences

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

AppCompatDelegate.setDefaultNightMode()是第一次由主要活动拾取的?

Android P使用androidx 1.0.0minSdkVersion 17)运行。从我MainActivity打开我的PreferenceActivity。在那里,我更改了UI主题,还重新创建了活动以获取更改:

AppCompatDelegate.setDefaultNightMode(nightMode);
recreate();
Run Code Online (Sandbox Code Playgroud)

更新主题后,我返回MainActivity。在那里,主题已成功更新。然后,我重新打开PreferenceActivity再次更改主题。

到目前为止,一切都很好!

最后,我MainActivity再次回到。会议的主题是更新,如果你重复这些步骤也不会更新!

因此,重现步骤似乎是:

  1. 在活动A中打开活动B。
  2. 在B中,依次调用AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES)recreate()。主题已更新!
  3. 返回A。主题已更新!
  4. 再次打开活动B。
  5. 在B中,依次调用AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO)recreate()。主题已更新!
  6. 返回到A。主题没有更新,并且如果重复步骤3-6 ,将不会更新!

我打过电话recreate()从returing时PreferenceActivity而是产生另一个问题,当库在主题的变化作出反应:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (...) {
        recreate();
    } else {
        super.onActivityResult(requestCode, resultCode, data);
    } …
Run Code Online (Sandbox Code Playgroud)

android androidx

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

免费和付费版Android应用程序的最佳方法?

我开发了一款Android应用程序,我希望它既可以免费也可以付费.什么是最好的方法?

我可以想到三个解决方案:

  1. 将项目拆分为两个分支并维护它们.
  2. 创建一个库项目,并有两个额外的项目,一个是"免费",另一个是"付费".
  3. 使用应用内结算.

问:哪种解决方案最好?为什么?

有些事情需要考虑:

  • 我的应用程序大约1.5 MB(不包括AdMob).
  • 我目前正在瞄准Android 2.2(Froyo).
  • 我确实有一些服务器API,可以从知道客户是否付款中受益.
  • 我试图避免我的应用程序被破解.这些天不确定这是否真的存在问题......

android version in-app-billing

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

"IsAsync"对缓慢的财产没有影响?

我有一个缓慢的数据源,所以我异步创建它.此外,我的viewmodel的许多属性本身都很慢.因此,我也使它们异步(绑定到Telerik属性网格):

<Grid>
  <Grid.DataContext>
    <ObjectDataProvider ObjectType="{x:Type viewModels:MyViewModel}"
      IsAsynchronous="True" x:Name="myViewModel" />
  </Grid.DataContext>
  <telerik:RadPropertyGrid x:Name="settings" Item="{Binding IsAsync=True}">
    <telerik:RadPropertyGrid.PropertyDefinitions>
      <telerik:PropertyDefinition
        Binding="{Binding Path=SlowProperty,IsAsync=True,Mode=TwoWay}" />
    </telerik:RadPropertyGrid.PropertyDefinitions>
  </telerik:RadPropertyGrid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

在调试时,我可以看到数据源确实在另一个线程中创建,因此不会阻止UI.但是,当我进入SlowProperty调试器时,我发现我仍然在主线程中 - 这可以通过UI挂起直到属性返回来证明.

问:我在这里错过了什么?IsAsync异步属性是不够的?

编辑:这似乎适用于正常情况TextBlock.IsAsync行为是否依赖于控件的实现?(在这种情况下,我怀疑属性网格中存在错误.)

wpf asynchronous mvvm viewmodel

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

如何使用Viewmodel-first从代码隐藏设置viewmodel属性?

在我的WPF(4.0)应用程序中,我正在使用Viewmodel-first模式.因此,首先创建我的视图模型,然后使用数据模板创建视图.可以在这里找到工作演示.

现在,从创建的视图(代码隐藏)中,我需要修改viewmodel的属性.在一种View-first方法中,我只是访问一个命名的viewmodel实例.但是,该Viewmodel-first方法不允许这样做.有一个视图模型,但视图并不关心它是什么.

坏:

当然你可以掌握DataContext并使用它,但这有效地结合了视图和视图模型.

private void MyView_Loaded(object sender, RoutedEventArgs e)
{
    this.viewModel = DataContext as MyViewModel;
}
Run Code Online (Sandbox Code Playgroud)

必须有一个推荐的模式.命令?消息?请帮忙!

问:如何修改(设置属性)活动视图模型?

c# wpf xaml mvvm viewmodel

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

客户端与服务器端数据库事务

事务可以在SQL Server客户端或服务器代码中执行。一位数据库专家曾经告诉我,由于锁定问题,应该避免客户端事务。现在,几年后,我想知道这是否仍然成立。

当然,在某些情况下客户端事务是必要的,但我们假设可以使用客户端或服务器端事务来解决特定问题。

就性能而言,这两种技术哪一种最好?为什么?

C#(客户端):

using (var transaction = new TransactionScope())
{
    // Insert data into database.

    transaction.Complete();
}
Run Code Online (Sandbox Code Playgroud)

T-SQL(服务器):

CREATE PROCEDURE [dbo].[my_proc]
AS
BEGIN
    SET NOCOUNT ON

    DECLARE @TransactionCount [int]

    BEGIN TRY
        SET @TransactionCount = @@TRANCOUNT

        IF @TransactionCount = 0
            BEGIN TRANSACTION

        -- Insert data

        IF @TransactionCount = 0
            COMMIT TRANSACTION
    END TRY
    BEGIN CATCH
        IF XACT_STATE() <> 0 AND @TransactionCount = 0 
            ROLLBACK TRANSACTION

        ; THROW
    END CATCH
END
GO
Run Code Online (Sandbox Code Playgroud)

sql-server transactions

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