我正处于一种情况,我正在使用的模块具有一个函数,其名称与我自己的模块中的函数完全相同.当我尝试在我的模块中调用该函数(OO Perl,所以$self->function)时,它会从另一个模块调用该函数.
我已经通过重命名我的函数来解决它,但感兴趣的是,有没有办法从我的模块中显式调用函数?
编辑:这基本上就是我正在做的事情
package Provider::WTO;
use base qw(Provider); # Provider contains a method called date
use utilities::utils; #not my module so don't blame me for the horrendous name :-)
...
sub _get_location
{
my $self = shift;
return $self->date."/some_other_string"; # calls utilities::utils::date()
}
Run Code Online (Sandbox Code Playgroud) 如何在java中声明静态类?eclipse希望我从声明中删除"静态".
static public class Constants {
Run Code Online (Sandbox Code Playgroud) 好的......在Objective C中,您可以使用'new this()'从基类中的静态方法创建子类,因为在静态方法中,'this'指的是类,而不是实例.当我第一次发现它并且我经常使用它时,这是一个非常酷的发现.
但是,在C#中不起作用.该死的!
那么......任何人都知道如何在静态基类方法中"新建"一个子类?
像这样......
public class MyBaseClass{
string name;
public static Object GimmeOne(string name){
// What would I replace 'this' with in C#?
return new this(name);
}
public MyBaseClass(string name){
this.name = name;
}
}
// No need to write redundant constructors
public class SubClass1 : MyBaseClass{ }
public class SubClass2 : MyBaseClass{ }
public class SubClass3 : MyBaseClass{ }
SubClass1 foo = SubClass1.GimmeOne("I am Foo");
Run Code Online (Sandbox Code Playgroud)
是的,我知道我可以(并且通常会)直接使用构造函数,但我们特别需要在基类上调用共享成员,这就是我要问的原因.再一次,Objective C让我这样做.希望C#也这样做.
所以...任何接受者?
有没有办法我们可以立即从我们的应用程序启动小部件,而无需用户选择小部件.所以它就像使用代码自动将小部件添加到我们的主屏幕.
谢谢.
我刚刚创建了一个控制台应用程序.如果我从命令行运行它,没问题 - 我可以看到我的输出.但是如果我在MonoDevelop中运行,则不会出现应用程序输出窗口.
我重新启动了MonoDevelop并且没有效果.
有什么建议?
是否有可能在迭代器当前指向的容器中查看下一个元素而不更改迭代器?
例如在std :: set中,
int myArray[]= {1,2,3,4};
set <int> mySet(myArray, myArray+4);
set <int>::iterator iter = mySet.begin();
//peek the next element in set without changing iterator.
mySet.erase(iter); //erase the element if next element is n+1
Run Code Online (Sandbox Code Playgroud) 什么是在后端(通过http?)同步android sqlite数据库和MSSql/MySQL数据库的最佳方法.
我在res/layout文件夹中声明了两个XML布局,一个包含通用模板,另一个包含特定于特定屏幕的视图.我想将第二个xml布局添加到第一个xml布局,即通用布局.由于这两个布局都声明为XML,我无法将其添加到其他布局.我该如何解决这个问题?
尝试在对话框中创建一个Spinner时,我得到一个NullPointerException似乎无法调试它,因为代码看起来很稳固.不知道其他人有什么想法.任何帮助是极大的赞赏.
protected Dialog onCreateDialog(int id)
{
Dialog dialog;
switch(id) {
case DIALOG_SEND_PM:
Spinner spinner = (Spinner)findViewById(R.id.pm_server);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.server_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
dialog = new Dialog(PM.this);
dialog.setContentView(R.layout.send_pm_dialog);
dialog.setTitle(R.string.send_pm);
pmMessage = (EditText) dialog.findViewById(R.id.send_pm_box);
Button sendPm = (Button) dialog.findViewById(R.id.send_pm_button);
sendPm.setOnClickListener(PM.this);
break;
default:
dialog = null;
}
Run Code Online (Sandbox Code Playgroud)
我在adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)得到异常; 我将上下文更改为MyClass.this,异常下移到下一行,这让我感到困惑.我想知道它是否是一个具有空值的适配器,但是我在调用所有内容的方式与之前相同,而不是在对话框中.
相关的XML数据:
<LinearLayout>
<TextView/>
<LinearLayout>
<TextView/>
<EditText/>
<TextView/>
<Spinner
android:id="@+id/pm_server"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:background="@drawable/yblueborder"
android:textColor="#ABABAB"/>
</LinearLayout>
<Button/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
编辑了其余的数据,因此不会占用太多空间.
我知道可以使用Prism或MEF框架动态加载xap模块.但是,我不想使用这些框架; 而是手动加载我的xap文件.所以,我创建了以下类(改编自互联网):
public class XapLoader
{
public event XapLoadedEventHandler Completed;
private string _xapName;
public XapLoader(string xapName)
{
if (string.IsNullOrWhiteSpace(xapName))
throw new ArgumentException("Invalid module name!");
else
_xapName = xapName;
}
public void Begin()
{
Uri uri = new Uri(_xapName, UriKind.Relative);
if (uri != null)
{
WebClient wc = new WebClient();
wc.OpenReadCompleted += onXapLoadingResponse;
wc.OpenReadAsync(uri);
}
}
private void onXapLoadingResponse(object sender, OpenReadCompletedEventArgs e)
{
if ((e.Error == null) && (e.Cancelled == false))
initXap(e.Result);
if (Completed != null)
{
XapLoadedEventArgs args = new …Run Code Online (Sandbox Code Playgroud) android ×4
c# ×1
c++ ×1
constructor ×1
dialog ×1
function ×1
iterator ×1
java ×1
monodevelop ×1
naming ×1
objective-c ×1
perl ×1
silverlight ×1
spinner ×1
sqlite ×1
static ×1
stl ×1
subclass ×1
sync ×1
xap ×1