我有一个C#方法,它从字符串创建一个类的新实例,但是,我在运行代码时遇到错误.
obj = (ClassX)Activator.CreateInstance(Type.GetType("classPrefix_" + className));
Run Code Online (Sandbox Code Playgroud)
ArgumentNullException未处理
值不能为空
参数名称:类型
任何有关此错误的帮助将不胜感激.
介绍
我正在用 C++ 创建一个小游戏,并想创建一个函数来重新启动游戏。
首先,我正在创建对象player。然后我有一个 if 语句来确定何时按下某个键来调用该New()方法。
我的目标
在该方法中,我想重新实例化 Player 类的对象,因此将重置所有变量。
我的代码:
Player player;
//New game method
Game::New()
{
player = new Player();
}
//Game loop
Game::Loop()
{
if(keyispressed(key))
{
Game.New();
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
创建类的实例时,如果给出了错误的参数。我怎么办?不创建一个新实例并返回引用,而是只返回一个“无”
这是我的应用程序:因为它有时被允许。我的应用程序是从整数列表构建树。我想在列表中使用 None 来表示一片叶子。所以我只想返回一个 None 而不是一个空的树节点。
有没有办法让多个类共享另一个类的同一个实例?所以在我的 c# 程序中,我有三个类 Gamelogic(A)、FPSController(B) 和 SpawnPlayer(C)。
在我的例子中,B 和 C 类会使用和改变 A 中的一些变量,以便使用我当前在两个不同类中实例化 A 的变量,然后使用点表示法从 A 的实例访问变量,但问题是是A在不同的类中实例化后,instance.variable的变化在B和C类之间根本不共享。
静态类型是解决这个问题的好方法吗?或者写一个主要的会更好。
任何建议,将不胜感激。
我正在尝试将我的工厂目录更改为自定义路径,因此我正在使用它,就像我在laracasts 线程中看到的那样:
use Illuminate\Database\Eloquent\Factory as Factory;
class FactoryServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->singleton(Factory::class, function () {
return Factory::construct(new Faker\Generator, app_path() .'/Core/Database/Factories');
});
}
}
Run Code Online (Sandbox Code Playgroud)
新路径有效,我在新目录中的工厂文件被加载。但是现在当我尝试使用播种机的工厂时,php artisan migrate:refresh --seed我得到了
[InvalidArgumentException] 未知的格式化程序“名称”
来自工厂定义中的 $faker 实例:
$factory->define(User::class, function (Faker\Generator $faker) {
return[
'name' => $faker->name,
'email' => $faker->freeEmail,
'password' => bcrypt($faker->word),
'remember_token' => str_random(10)
];
});
Run Code Online (Sandbox Code Playgroud)
所有格式化程序都会出现此错误,而不仅仅是名称。
问题出在哪儿?在我改变路径之前,工厂工作正常。
我正在使用此代码来保存和恢复我的自定义手绘视图,我如何使用此代码将我的绘图以矢量格式而不是位图保存到SD 卡上的文件并在下一个应用程序会话中重新加载它:
@Override
protected Parcelable onSaveInstanceState() {
// Get the superclass parcelable state
Parcelable superState = super.onSaveInstanceState();
if (mPoints.size() > 0) {// Currently doing a line, save it's current path
createHistoryPathFromPoints();
}
return new FreeDrawSavedState(superState, mPaths, mCanceledPaths,
mCurrentPaint, mPaintColor, mPaintAlpha, mResizeBehaviour,
mLastDimensionW, mLastDimensionH);
}
@Override
protected void onRestoreInstanceState(Parcelable state) {
// If not instance of my state, let the superclass handle it
if (!(state instanceof FreeDrawSavedState)) {
super.onRestoreInstanceState(state);
return;
}
FreeDrawSavedState savedState = (FreeDrawSavedState) …Run Code Online (Sandbox Code Playgroud) 如您所知,Cloud Foundry 上的应用程序可能有 1 个以上的实例。有时,需要通过 HTTP 请求配置全部或部分,例如更改记录器级别。但是由于负载均衡,循环,一个用户的多个请求可能会被路由到不同的实例。所以,对于用户来说,我没有找到一种方法来指定要配置哪个实例,或者告诉已经配置了哪个实例。
有人知道这个技巧吗?或者是否可以向所有实例发送 HTTP 请求?
我知道您可以使用以下命令从 Azure CLI 启动/停止容器实例 az container stop --name mycontainer --resource-group myResourceGroupVM
但是由于在我的 org azure cli 中出现“访问被拒绝”错误,我想知道如何使用 powershell 或 ARM 来做同样的事情。我无法从文档中获取任何 powershell cmdlet 来启动或停止 conrainer 实例。请帮忙。
我参考了以下文档:https : //docs.microsoft.com/en-us/powershell/module/azurerm.containerinstance/?view=azurermps-6.9.0#container_instances
也有人能告诉我为什么我得到“访问被拒绝”。对于所有 az (CLI) 命令?
没有足够的资源来满足请求尝试不同的区域
我所有的机器在不同的区域

有同样的问题,无法运行。
“启动 VM 实例“home-1”失败。
错误:
区域“projects/extreme-pixel-208800/zones/us-west1-b”没有足够的可用资源来满足请求。尝试不同的区域,或稍后再试。”

instance virtual-machine google-compute-engine google-cloud-platform
我有一个带有一些通用接口的父包。我现在想创建这个接口的几个实现,每个实现在不同的文件中。我以为我可以简单地使这些包成为包含接口的包的子包,实例化泛型,然后直接访问子包,但这给了我一个错误,即子包也必须是泛型的。
这导致我进行以下实现:
parent.ads:
generic
type T is private;
package Parent is
type I_Generic is interface;
type Any_Generic is access all I_Generic'Class;
function Get (This : in out I_Generic) return T is abstract;
procedure Set (This : in out I_Generic; Value : T) is abstract;
end Parent;
Run Code Online (Sandbox Code Playgroud)
亲子广告:
generic
package Parent.Child is
-- long spec
type Impl is new I_Generic with private;
type Impl_Access is access all Impl;
overriding function Get (This : in out Impl) return T;
overriding procedure Set …Run Code Online (Sandbox Code Playgroud)