问题列表 - 第14506页

当属性getter/setter需要LinkDemand时,如何安抚FxCop?

我在班级酒吧有一个房产Foo:

public int Foo
{
   get
   {
      return GetFoo();
   }
   set
   {
      SetFoo(value);
   }
}
Run Code Online (Sandbox Code Playgroud)

双方GetFooSetFoo都装饰有:

[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
Run Code Online (Sandbox Code Playgroud)

结果,FxCop正确地抱怨Foo属性(或者更确切地说是它的隐式getter和setter方法)没有相同的LinkDemand:

CA2122:Microsoft.Security:'Bar.Foo.get()'调用具有LinkDemand的'Bar.GetFoo()'.通过进行此调用,'Bar.GetFoo()'间接暴露给用户代码.查看以下可能提供绕过安全保护的方法的调用堆栈:

但是,当我尝试将相同的SecurityPermission属性应用于属性以修复此警告时,事实证明属性不是此属性的有效目标.

如何正确修复此FxCop警告?


编辑:回应Eric Lippert的评论"为什么在地球上的LinkDemand"?

  1. 我使用Marshal.GetIUnknownForObject编写了一个函数,它具有用于非托管代码权限的LinkDemand.
  2. 我跑了FxCop,抱怨CA2122
  3. 我用谷歌搜索CA2122寻找有关错误意味着什么以及如何解决它的提示
  4. 在第一次谷歌热播中,我看到了Micheal Fanning建议使用LinkDemand解决错误

在阅读了你的反应之后,我很快就猜到了范宁的建议并不适用于我的情况.我现在看一下Demand vs. LinkDemand文章,并尝试使用Demand.

c# permissions fxcop

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

AutoMapper - 将目标字符串设置为null实际上使其成为string.Empty

使用以下映射:

Mapper.CreateMap<ObjectA, ObjectB>()
    .ForMember(dest => dest.SomeStringProperty, opt => opt.MapFrom(src => null))
Run Code Online (Sandbox Code Playgroud)

SomeStringProperty 现在是空字符串不为null(正如我所料)

这是一个错误吗?我如何让它实际上为null?

我看到它opt.Ignore()会使它为null但我实际上想要像下面那样做一个条件null,上面简化的bug(?)阻止了这个

Mapper.CreateMap<ObjectA, ObjectB>()
    .ForMember(dest => dest.SomeStringProperty, opt => opt.MapFrom(src => src.SomeOtherProp != null ? src.SomeOtherProp.Prop1 : null))
Run Code Online (Sandbox Code Playgroud)

c# automapper

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

从类中打印所有变量值

我有一个类,其中包含一个看起来像这样的人的信息:

public class Contact {
    private String name;
    private String location;
    private String address;
    private String email;
    private String phone;
    private String fax;

    public String toString() {
        // Something here
    }
    // Getters and setters.
}
Run Code Online (Sandbox Code Playgroud)

我想toString()返回this.name +" - "+ this.locations + ...所有变量.我试图使用这个问题所示的反射实现它,但我无法设法打印实例变量.

解决这个问题的正确方法是什么?

java reflection

65
推荐指数
6
解决办法
11万
查看次数

Android ScrollView布局问题

我在LinearLayout中有几个ListView.它是白天列出的东西,所以我有一个TextView包含"Sunday:"后跟一个项目列表,然后是"Monday"TextView等.效果很好,但不适合屏幕.所以我添加了一个ScrollView作为LinearLayout的父级.现在它滚动,但ListViews都有2个条目的空间,无论它们有0或3个条目.有关添加ScrollView父级的信息导致ListViews无法动态调整大小.我尝试在列表适配器填充其视图后在ScrollView上调用requestLayout(),但这没有做任何事情.有任何想法吗?

编辑:从http://www.anddev.org/viewtopic.php?p=25194和其他链接看来,ScrollView中的ListViews无法正确处理.任何人都有一个很好的建议来实现列表清单?

android scrollview

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

TFS分支和磁盘空间

我一直在考虑一些分支策略(每个功能创建分支,也许每个开发人员,因为我们是一个小组),并且想知道是否有人遇到过任何问题.创建分支会占用多少空间吗?

tfs branch diskspace

12
推荐指数
2
解决办法
2287
查看次数

经典ASP到ASP.Net一次性会话数据拷贝

我们有一个广泛的经典ASP网站,我们正在寻求升级到ASP .Net(最有可能是最新版本).显然,立即升级所有页面将是一个巨大的任务,所以我们只想在ASP .Net中首先编写新页面(和页面重写).

这样做有两个障碍:

  1. 我不知道如何在ASP .Net中访问经典的ASP会话数据.这只需要设置一次,因为它永远不会被登录页面以外的任何页面修改.我宁愿对经典的ASP登录页面进行微小的更改,但这只是一个小的偏好.

  2. ASP和ASP .Net会话必须同时超时,以保持版本差异无缝.

有人可以提供任何帮助吗?

提前致谢.

asp.net asp-classic asp.net-session

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

何时为Scala actor创建的线程会做出反应?

在阅读了reactScala中的演员使用之后,我认为react在没有多个react待定的情况下会分享相同的线程.似乎并非如此.

import scala.actors.Actor
import scala.actors.Actor._

class SleepyReactor extends Actor {
    def act() {
        loop {
            react {
                case x => {
                    println("reacting to %s on thread %s".format(x, Thread.currentThread.getName))
                    Thread.sleep(1000)
                    println("done with " + x)
                }
            }
        }
    }
}
val sleepyOne = new SleepyReactor
sleepyOne.start
sleepyOne ! "first" // runs on thread-5

// wait until completion

sleepyOne ! "second" // runs on thread-3
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么这些react是在不同的线程上运行,以及何时为一个演员创建一个新的线程react

我读到某个地方react是基于事件的,我认为这意味着"反应行动者"共享一个线程,如果一个人"反应",其他"反应行动者"将排队,直到第一个完成.我现在认为我错了.这是如何工作的,它与收到的有何不同?

scala

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

什么"long long(^ blockFun)()=(long long(^)())moreBlockFun"是什么意思?

我正在努力学习和有效地使用Blocks.

在网络上,我遇到过这段代码:

long long (^blockFun)() = (long long (^)())moreBlockFun;
Run Code Online (Sandbox Code Playgroud)

我认为它正在尝试创建一个块,它需要一个返回long的块,我认为它也会在某个地方进行一些转换.

objective-c

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

RichTextBox控件,使非URL超链接?

在richtextbox中,我看到有DetectURLs和一个与之相关的事件......

有没有办法设置一个单词或一系列单词作为超链接,即使它们不是超链接?我的具体用途是我正在编写一个滚动信息程序,它将在屏幕底部滚动信息,我希望一些信息可以点击而不需要放置目标的冗长,凌乱的URL.无论如何我能做到这一点?

.net c# richtextbox hyperlink winforms

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

Perl是否有类似于PHP的常量()的东西?

我已经通过perldoc和O'Reilly书籍进行了一些挖掘,但没有找到任何方法来做到这一点.我是不是喜欢使用像Readonly这样的东西?

更新:

我对Readonly没有任何反对意见.我只是想能够做一些像PHP的常量().

例如,如果Perl有constant():

use constant {
  FIELD_EXAMPLE_O => 345,
  FIELD_EXAMPLE_L => 25
};

my $var = 'EXAMPLE';
my $c = 'FIELD_' . $var . '_L';
my $value = constant($c);

# $value is 25
Run Code Online (Sandbox Code Playgroud)

如果Readonly是最好的方法,那么我将使用它.

php variables perl constants

5
推荐指数
3
解决办法
428
查看次数