问题列表 - 第28236页

PHP错误:致命错误:在不在对象上下文中时使用$ this

    public static function assign($name, $value)
    {
        $this->params[] = array($name => $value);
    }

    public static function draw()
    {
        return $this->params;
    }
}


<?php
    $test = Templater::assign('key', 'value')->draw();
    print_r($test);
Run Code Online (Sandbox Code Playgroud)

我需要函数"assign"是静态的,但$ params对于整个类来说很常见..但是这段代码不起作用.

Fatal error: Using $this when not in object context
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

php oop static

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

XAML文件如何与cs文件关联?

似乎XAML文件应该在C#项目中具有相应的.cs文件.我知道Visual Studio为我们做了所有事情.我只是好奇他们是如何联系在一起的?我的意思是,它们是在项目文件中指定的,还是仅仅因为它们具有相同的名称?而且,App.xaml文件指定了启动文件,但编译器如何知道?是否可以指定App.xaml以外的其他文件来执行与App.xaml相同的操作?

.net wpf xaml

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

Javascript对象:获取父级

我有以下(嵌套)对象:

obj: { subObj: { foo: 'hello world' } };
Run Code Online (Sandbox Code Playgroud)

我接下来要做的是像这样引用子对象:

var s = obj.subObj;
Run Code Online (Sandbox Code Playgroud)

现在我想要做的是obj从变量中获取对象的引用s.就像是:

var o = s.parent;
Run Code Online (Sandbox Code Playgroud)

这有点可能吗?

javascript

123
推荐指数
6
解决办法
22万
查看次数

如何在WPF中左右指定矩形笔划?

我想要的矩形只能在左侧和右侧(不在上侧和下侧).我该怎么做 ?

c# wpf

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

如何更新我自己没有创建的APK版本

我是Android开发的新手.我正在使用x平台开发工具为我构建和签署APK.此工具有一个错误,它不会生成我指定的版本代码的APK,所有APK生成的版本都是1.0.

我想打开APK,编辑版本代码,然后重新签名并重新打包.它最初是使用我的密钥库签名的,所以我需要再次签名所需的密钥.

如何才能做到这一点?

android

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

Android服务如何知道它不受任何活动的约束

我有一个Android服务,即使在最后一个Activity从堆栈中弹出,或者用户已选择执行其他操作,我仍希望继续运行.

本质上,服务正在侦听远程服务器上的更改,当且仅当应用程序中的活动未运行(或可见)时,我才想生成通知.换句话说,我不希望在用户直接与应用程序交互时发生通知.

在用户直接与应用程序交互的情况下,服务将通知活动并基于更改更新适当的UI元素.我计划通过观察者模式实现这一点.

如果没有应用程序活动绑定到它,服务如何知道?

谢谢,J

service android android-activity

13
推荐指数
2
解决办法
7851
查看次数

StringBuilder与StringWriter和PrintWriter的字符串汇编

我最近遇到了一个我以前没见过的成语:StringWriter和PrintWriter的字符串汇编.我的意思是,我知道如何使用它们,但我一直使用StringBuilder.是否有一个具体的理由选择一个而不是另一个?StringBuilder方法对我来说似乎更自然,但它只是风格吗?

我在这里看了几个问题(包括最近的一个问题:StringWriter或StringBuilder),但没有一个问题的答案实际上解决的问题是,是否有理由优先选择一个而不是简单的字符串汇编.

这是我见过并习惯了很多次的成语:StringBuilder的字符串汇编:


    public static String newline = System.getProperty("line.separator");
    public String viaStringBuilder () {
       StringBuilder builder = new StringBuilder();
       builder.append("first thing").append(newline);  // NOTE: avoid doing builder.append("first thing" + newline);
       builder.append("second thing").append(newline);
       // ... several things
       builder.append("last thing").append(newline);
       return builder.toString();
    }
Run Code Online (Sandbox Code Playgroud)

这是新的成语:StringWriter和PrintWriter的字符串汇编:


    public String viaWriters() {
       StringWriter stringWriter = new StringWriter();
       PrintWriter printWriter = new PrintWriter(stringWriter);
       printWriter.println("first thing");
       printWriter.println("second thing");
       // ... several things
       printWriter.println("last thing");
       printWriter.flush();
       printWriter.close();
       return stringWriter.toString();
    }
Run Code Online (Sandbox Code Playgroud)

编辑似乎没有具体的理由偏爱其中一个,所以我接受了最符合我理解的答案,并且+ 1除了所有其他答案.另外,我发布了自己的答案,给出了我运行的基准测试结果,以回答其中一个答案.谢谢大家.

再次编辑事实证明,有是 …

java

54
推荐指数
5
解决办法
5万
查看次数

F#使用while循环

我有一个datareader,我想从它返回行集,在阅读了一天的书后,我无法找到在f#中做到最好的方法.我可以在F#中做正常的C#方式,但这不是我使用f#的原因

这是我想要实现的目标

let values =
    while reader.Read() do
        yield reader.GetString(0), reader.GetInt64(1)
Run Code Online (Sandbox Code Playgroud)

以上是我的尝试方式

  • 所有值都被收集到值中,这些值可以是dictinary或元组或任何集合
  • yield不能用于while循环,但这正是我想要做的

什么是实现这一目标的最佳方式

f#

9
推荐指数
2
解决办法
3694
查看次数

为什么由编译器决定在为变量赋予超出范围值时要分配的值

在C++ Primer第4版2.1.1中,它说"在为签名类型分配超出范围的值时,由编译器来决定分配什么值".

我无法理解.我的意思是,如果您有"char 5 = 299"之类的代码,编译器将生成asm代码,如" mov BYTE PTR _sc$[ebp], 43"(VC)或" movb $43, -2(%ebp)"(gcc + mingw),它由编译器决定.

但是如果我们分配一个由用户输入给出的值呢?比如,通过命令行?生成的asm代码将是" movb %al, -1(%ebp)"(gcc + mingw)和"

mov cl, BYTE PTR _i$[ebp]
mov BYTE PTR _sc$[ebp], cl
Run Code Online (Sandbox Code Playgroud)

"(VC),那么现在编译器如何决定会发生什么?我想现在它是由CPU决定的.

你能给我一个明确的解释吗?

c c++ compiler-construction assembly

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

JavaScript getElementByName不起作用

这个简单的JS不能设置"para"的值.我猜getElementByName不起作用.但为什么?

<script>
function fn()  
{   
    document.getElementById("para").setAttribute("name","hi");  
    document.getElementByName("hi").setAttribute("value","my value is high");  
}  
</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<input type="button" onClick="fn()" value="click me">
<input id="para" type="text" />
Run Code Online (Sandbox Code Playgroud)

javascript

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

标签 统计

android ×2

javascript ×2

wpf ×2

.net ×1

android-activity ×1

assembly ×1

c ×1

c# ×1

c++ ×1

compiler-construction ×1

f# ×1

java ×1

oop ×1

php ×1

service ×1

static ×1

xaml ×1