标签: instance

是否有在C#中创建匿名子类的语法?

我可以像在Java中一样在C#/ .net中创建抽象类的实例吗?

附加信息

我想我们很多人都不懂我的意思?所以,在java中,我可以像这样创建抽象类:

简单的抽象类:

/**
 * @author jitm
 * @version 0.1
 */
public abstract class TestAbstract
{
    public abstract void toDoSmth();
}
Run Code Online (Sandbox Code Playgroud)

代码我在哪里创建抽象类的实例

/**
 * @author jitm
 * @version 0.1
 */
public class Main {
    public static void main(String[] args) {
        TestAbstract testAbstract = new TestAbstract() {
            @Override
            public void toDoSmth() {
                System.out.println("Call method toDoSmth");
            }
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以用c#做这样的事吗?

.net c# abstract-class instance

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

C++中用于定义异常类和抛出异常的标准方法

我想构建一个具有函数的类,这些函数可能会抛出我想要在使用它时捕获的异常.我从标准异常类继承my_exception.我实现了what()函数,以便它返回一个存储在私有字符串变量中的字符串

我认为最好将异常定义为嵌套类,就像在iosream库中使用ios_base :: failure一样.

我不太确定的是,我应该在哪里以及如何定义my_excpetion的对象.我希望我能看到iostream功能的内部代码,看看他们是如何做到的.我考虑了几个选项:

  1. 对于异常的每个原因,我可以定义my_exception的静态实例,使用构造函数获取字符串并将其保存到我的私有字符串指针.

  2. 对于异常的每个原因,我可以定义另一个继承自my_exception的类,并实现作为返回常量字符串的函数(原因).我可以保存每个异常子类的实例,或抛出类型.顺便说一句,我们什么时候通常抛出类型而不是实例?

  3. 我想这是错的:每次我想抛出一个异常,用一个获取字符串的构造函数创建一个新的my_exception.这是用Java完成的,但据我所知,它在C++中会有问题,因为异常应该在某处删除.对?

我认为第一个是正确的,是吗?有更多标准选项吗?

非常感谢你!

c++ standards exception instance throw

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

如何在非静态实例对象中包装静态类(动态)

我有一个有趣的问题.我需要动态包装静态类.即返回一个非静态实例给我的调用者.例如:

public object CreateInstance(string className) {
  Type t = assembly.GetType(className);
  if (IsStatic(t)) {
    return CreateStaticWrapper(t);
  } else {
    return Activator.CreateInstance(t);
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我需要的是如何实现的指针CreateStaticWrapper.

注意:遗憾的是我无法使用Dynamic对象.

那么我的选择是什么?我不是那么热衷于学习IL一代吗?如果IL生成(Reflection.Emit,或者现在还有其他方法吗?)是什么方法,那么有没有人有指针?

编辑:重要的是要注意我可以返回代表词典.所以我可以使用Delegate.CreateDelegate这个,但我似乎无法解决如何处理重载方法和通用方法.

Edit2:另一种选择是使用Emit将空构造函数注入到类型中,再次指向任何指针?甚至可以在标记为静态的类型上进行此操作吗?static关键字是否会进入IL?

Edit3:对于一些上下文,我将它传递给javascript环境,请参阅: 我的项目.所以我希望能够(在JavaScript中):

var fileHelper = .create('System.IO.File');
if (fileHelper.Exists(fileName)) { fileHelper.Delete(fileName); }
Run Code Online (Sandbox Code Playgroud)

谢谢大家.

.net c# instance non-static static-class

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

我如何测试对象是D中特定类的实例?

我如何测试对象是D中特定类的实例?

类似于Javascript instanceof关键字的东西?

d equality instance

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

如何在AWS EC2实例中检查应用程序运行

如何查看我的应用运行的平台,AWS EC2实例,Azure角色实例和非云系统?现在我这样做:

if(isAzure())
{
    //run in Azure role instance
}
else if(isAWS())
{
   //run in AWS EC2 instance
}
else
{
   //run in the non-cloud system
}

//checked whether it runs in AWS EC2 instance or not.
bool isAWS()
{
  string url = "http://instance-data";
  try
  {
     WebRequest req = WebRequest.Create(url);
     req.GetResponse();
     return true;
  }
  catch
  {
     return false;
  }  
}
Run Code Online (Sandbox Code Playgroud)

但是当我的应用程序在非云系统中运行时,我遇到了一个问题,例如本地Windows系统.执行isAWS()方法时速度非常慢.代码'req.GetResponse()'需要很长时间.所以我想知道如何处理它?请帮我!提前致谢.

instance amazon-ec2 amazon-web-services

12
推荐指数
3
解决办法
7715
查看次数

使用CKEditor的Bootstrap等于问题

我正在尝试创建一个包含CKEditor实例的Bootstrap模式,但是存在很多问题......

所以基本上这些字段都没有用,它们看起来不像,但我无法与它们互动.有没有人能解决这种奇怪的行为?

field z-index instance ckeditor twitter-bootstrap

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

何时使用静态变量/方法以及何时在Java中使用实例变量/方法?

我想问一个问题,什么时候使用静态变量/方法或在Java中的其他情况下实例变量/方法是有利的?

我知道这取决于某些情况(比如将util-classes编程为静态方法),但我们可以声明类似于一般策略的东西吗?

java static instance

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

在laravel 5中访问composer自动加载文件

尝试使用非Laravel包:https://packagist.org/packages/luceos/on-app

编辑composer.json来要求它并做作曲家安装,更新,然后dump-autoload -o.

这个包需要初始化:vendor/luceos/on-app/src/OnAppInit.php

哪个不是一个类,只有一个方法.但是当我尝试在服务提供者中绑定它时似乎没有加载它.云的版本是在OnAppInit.php中启动的,但是没有这样做,所以当然会出现"不支持版本"的错误.

我知道我错过了一个小细节,却找不到它.也许在服务提供商?

composer.json

"require": {
    "luceos/on-app": "~3.5"
"autoload": {
    "psr-4": {
        "Luceos\\OnApp\\": "vendor/luceos/on-app/src/"
Run Code Online (Sandbox Code Playgroud)

配置/ app.php

'providers' => [
    'App\Providers\OnAppServiceProvider',
Run Code Online (Sandbox Code Playgroud)

应用程序/提供者/ OnAppServiceProvider.php

public function register()
    {
            $this->app->bind('onapp', function($app)
                {
                    $hostname = 'http://cloud';
                    $username = 'email@foo.com';
                    $password = 'api_key';
                    $factory = new \OnApp_Factory($hostname, $username, $password);
                    $setting = $factory->factory('Settings')->getList();
                    return $setting;
                });
    }
Run Code Online (Sandbox Code Playgroud)

看起来像那里... vendor/composer/autoload_files.php

$vendorDir . '/luceos/on-app/src/OnAppInit.php',
Run Code Online (Sandbox Code Playgroud)

供应商/作曲家/ autoload_psr4.php

'Luceos\\OnApp\\' => array($vendorDir . '/luceos/on-app/src'),
Run Code Online (Sandbox Code Playgroud)

bind instance autoload laravel

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

从包含C++中类名的字符串动态创建类的实例

假设我有一个有100个孩子的基类:

class Base { 
  virtual void feed();
  ...   
};
class Child1 : public Base {
  void feed();  //specific procedure for feeding Child1
  ... 
};
...
class Child100 : public Base { 
  void feed();  //specific procedure for feeding Child100
  ...
};
Run Code Online (Sandbox Code Playgroud)

在运行时,我想读取一个文件,其中包含要创建和提供的子项.假设我已经读过文件,字符串"names"的向量包含子类的名称(即Child1,Child4,Child99).现在,我将遍历这些字符串,创建特定子项的实例,并使用其特定的提供过程来提供它:

vector<Base *> children;    
for (vector<string>::iterator it = names.begin(); it != names.end(); ++it) {
  Base * child = convert_string_to_instance(*it)       
  child->feed()
  children.push_back(child);
}
Run Code Online (Sandbox Code Playgroud)

我如何创建函数convert_string_to_instance(),这样如果它接受字符串"Child1"它返回一个"new Child1",如果字符串参数是"Child4"它返回一个"new Child4",等等

<class C *> convert_string_to_instance(string inName) {
  // magic happens
  return new C;  // C = …
Run Code Online (Sandbox Code Playgroud)

c++ dynamic instance new-operator

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

php调用类方法来自同一个类中的静态方法,但是没有实例化

php 5.3+

很抱歉这个问题很长,但我想完全了解这一点.

我知道我不能从静态方法中调用非静态相同类方法,而不将类实例化为对象.

class Person 
{
    private $people_array;

    function data_all_get()
    { // touch database, return array of people
      $this->people_array = // etc dbquery results
    }

    static function showPeople()
    {  // call class method
       $people_data = $this->data_all_get();
       // Fatal error: Using $this when not in object context
    }
} // end class Person
Run Code Online (Sandbox Code Playgroud)

从搜索SO,我发现了一些有趣的方法,但想知道每种方法如何影响代码环境.

我的问题如下:

我可以将类实例化为静态方法中的对象,以获得对非静态方法的访问

static function showPeople()
{  // instantiate as object
   $person = New Person();
   // call class method
   $people_data = $this->data_all_get();
}
Run Code Online (Sandbox Code Playgroud)

Q1 - 这会导致什么问题? 在我的情况下,该类没有构造函数,因此该实例不会影响其他类方法或变量.在脚本执行期间,这个新对象会占用内存中的一小块空间吗?似乎不太糟糕...... …

php static-methods instance

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