Repository navigation
Expand file tree
/
Copy pathactivator.hpp
More file actions
55 lines (41 loc) · 2 KB
/
Copy pathactivator.hpp
File metadata and controls
55 lines (41 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
Copyright (C) 2015-present The DotCpp Authors.
This file is part of .C++, a native C++ implementation of
popular .NET class library APIs developed to facilitate
code reuse between C# and C++.
http://github.com/dotcpp/dotcpp (source)
http://dotcpp.org (documentation)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#pragma once
#include <dot/declare.hpp>
#include <dot/system/type.hpp>
namespace dot
{
/// contains methods to create types of objects locally or remotely, or obtain
/// references to existing remote objects. This class cannot be inherited.
class DOT_CLASS activator final
{
private: // CONSTRUCTORS
activator() = delete;
activator(const activator&) = delete;
activator operator=(const activator&) = delete;
public: // METHODS
/// Creates an instance of the specified type using that type's default constructor.
static object create_instance(type t);
/// Creates an instance of the specified type using the constructor that best matches the specified parameters.
static object create_instance(type t, list<object> params);
/// Creates an instance of the type whose name is specified, using the named assembly and default constructor.
static object create_instance(string assembly_name, string type_name);
/// Creates an instance of the type whose name is specified, using the named assembly and default constructor.
static object create_instance(string assembly_name, string type_name, list<object> params);
};
}