www.91084.com

GVKun编程网logo

有没有一种方法可以强制Checkstyle忽略源代码中的特定警告?

18

对于想了解有没有一种方法可以强制Checkstyle忽略源代码中的特定警告?的读者,本文将是一篇不可错过的文章,并且为您提供关于delphi–有没有一种方法可以将匿名方法强制转换为指针?、java–如

对于想了解有没有一种方法可以强制Checkstyle忽略源代码中的特定警告?的读者,本文将是一篇不可错过的文章,并且为您提供关于delphi – 有没有一种方法可以将匿名方法强制转换为指针?、java – 如何根据特定模式忽略方法上的checkstyle、java – 有没有办法强制Checkstyle忽略源代码中的特定警告?、java-有没有一种方法可以强制应用程序在使用“主页”按钮后始终从Activity1开始?的有价值信息。

本文目录一览:

有没有一种方法可以强制Checkstyle忽略源代码中的特定警告?

有没有一种方法可以强制Checkstyle忽略源代码中的特定警告?

PMD可以忽略//NOPMDJava源文件中带有注释的特定警告。

Checkstyle有类似的选择吗?

答案1

小编典典

是的,请查看SuppressionCommentFilter和SuppressWithNearbyCommentFilter选项。

delphi – 有没有一种方法可以将匿名方法强制转换为指针?

delphi – 有没有一种方法可以将匿名方法强制转换为指针?

我正在将匿名方法传递给外部函数.匿名方法是一个被积函数,外部函数将计算一个定积分.因为集成功能是外部的,所以它不了解匿名方法.所以我必须将匿名方法作为无类型指针传递.为了更清楚,它运行如下:

function ExternalIntegrand(data: Pointer; x: Double): Double; cdecl;
begin
  Result := GetAnonMethod(data)(x);
end;

....

var
  Integrand: TFunc<Double,Double>;
  Integral: Double;
....
Integral := CalcIntegral(ExternalIntegrand,CastToPointer(Integrand),xlow,xhigh);

这里CalcIntegral是调用ExternalIntegrand的外部函数.这反过来采用传递的无类型指针,检索匿名方法,并让它来完成这项工作.

问题是我无法干净地编写CastToPointer.如果我做:

Pointer(Integrand)

编译器对象:

[dcc32 Error]: E2035 Not enough actual parameters

很明显,编译器正在尝试调用匿名方法.

我能够做到这一点:

function CastToPointer(const F: TFunc<Double,Double>): Pointer; inline;
begin
  Move(F,Result,SizeOf(Result));
end;

或这个:

function CastToPointer(const F: TFunc<Double,Double>): Pointer; inline;
var
  P: Pointer absolute F;
begin
  Result := P;
end;

但是,当我将动态数组转换为指向数组的指针时,我无法使用简单的转换,这似乎有点令人讨厌.

我意识到我可以传递持有匿名方法的变量的地址.像这样:

function ExternalIntegrand(data: Pointer; x: Double): Double; cdecl;
var
  F: ^TFunc<Double,Double>;
begin
  F := data;
  Result := F^(x);
end;

....

Integral := CalcIntegral(ExternalIntegrand,@Integrand,xhigh);

但是,引入另一个间接层似乎有点奇怪.

有没有人知道将匿名方法变量直接转换为指针的方法?我确实意识到这样的欺骗行为是值得怀疑的,但至少出于好奇,我想知道是否可以做到.

解决方法

你应该能够做Pointer((@ Integrand)^)所以你的电话会是:

Integral := CalcIntegral(ExternalIntegrand,Pointer((@Integrand)^),xhigh);

这是一种额外的间接水平,但不是:)

我通过与您的CastToPointer进行比较测试,它的工作原理如下:

program Project8;

{$APPTYPE CONSOLE}

{$R *.res}

{$T+}

uses
  System.SysUtils;

  function CastToPointer(const F: TFunc<Double,SizeOf(Result));
end;

var
  Integrand: TFunc<Double,Double>;
  Mypointer1: Pointer;
  Mypointer2: Pointer;
begin
  Integrand := function(x : double) : double
       begin
         result := 2 * x;
       end;
  Mypointer1 := Pointer((@Integrand)^);
  Mypointer2 := CastToPointer(Integrand);
  Assert(Mypointer1 = Mypointer2,'Pointers don''t match!');
end.

java – 如何根据特定模式忽略方法上的checkstyle

java – 如何根据特定模式忽略方法上的checkstyle

checkstyle规则MethodLength是否有办法为要忽略的方法设置模式?我想要为名为getMetainformation()的所有方法禁止checkstyle规则.

其他checkstyle规则如LineLength拥有该属性

< property name =“ignorePattern”value =“”/>

但这似乎不适用于MethodLengthrule(见http://checkstyle.sourceforge.net/apidocs/com/puppycrawl/tools/checkstyle/checks/sizes/MethodLengthCheck.html).

解决方法

目前,通过Check config http://checkstyle.sourceforge.net/config_sizes.html#MethodLength无法执行此操作,您需要使用抑制/过滤器来执行此操作.

java – 有没有办法强制Checkstyle忽略源代码中的特定警告?

java – 有没有办法强制Checkstyle忽略源代码中的特定警告?

参见英文答案 > How to disable a particular checkstyle rule for a particular line of code?5个
PMD有一种方法来忽略Java源文件中的nopMDcomment的特定警告.

Checkstyle有类似的选择吗?

解决方法

是的,看看 SuppressionCommentFilter和 SuppressWithNearbyCommentFilter的选项.

java-有没有一种方法可以强制应用程序在使用“主页”按钮后始终从Activity1开始?

java-有没有一种方法可以强制应用程序在使用“主页”按钮后始终从Activity1开始?

这个应用程式有多个活动:例如:Activity1->活动2->活动3.如果在Activity2中使用“主页”按钮后打开了该应用程序,则该应用程序将返回到Activity2,但是所需的功能是使该应用程序始终从启动器以Activity1开始.在使用“主页”按钮后,将finish()添加到Activity2的onStop()确实会使应用程序从Activity1开始,但是随后,Activity3会使应用程序在完成时恢复为Activity1,而不是Activity2,这也是不希望的.有没有一种方法可以在使用“主页”按钮后强制应用程序始终从Activity1开始?

public class Activity1 extends Activity {
    ...
    public void onCreate(Bundle savedInstanceState) {
        ...
        button1.setonClickListener(new OnClickListener() {
            public void onClick(View arg0) {
                startActivity(Activity2);
                ...

public class Activity2 extends Activity {
    ...
    private boolean applyMenuChoice(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.menuItem1:
            startActivity(Activity3);
            ...
最佳答案
您可以在AndroidManifest.xml中为您的活动配置它.我认为您想要的属性是android:clearTaskOnLaunch.

您可能要查看android开发指南中的activity element功能.

关于有没有一种方法可以强制Checkstyle忽略源代码中的特定警告?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于delphi – 有没有一种方法可以将匿名方法强制转换为指针?、java – 如何根据特定模式忽略方法上的checkstyle、java – 有没有办法强制Checkstyle忽略源代码中的特定警告?、java-有没有一种方法可以强制应用程序在使用“主页”按钮后始终从Activity1开始?的相关知识,请在本站寻找。

本文标签: