Aspose.Tasks for C++
CustomProjectProperty.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="CustomProjectProperty.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include "aspose.tasks.cpp/PropertyCollections/Property.h"
9 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
10 
11 namespace Aspose
12 {
13 namespace Tasks
14 {
15 namespace Properties
16 {
17 class CustomProjectPropertyCollection;
18 enum class CustomPropertyType;
19 } // namespace Properties
20 } // namespace Tasks
21 } // namespace Aspose
22 namespace System
23 {
24 namespace Collections
25 {
26 namespace Generic
27 {
28 template <typename, typename> class IDictionary;
29 } // namespace Generic
30 } // namespace Collections
31 class String;
32 } // namespace System
33 
34 namespace Aspose {
35 
36 namespace Tasks {
37 
38 namespace Properties {
39 
40 /// <summary>
41 /// Represents a custom property.
42 /// </summary>
43 class ASPOSE_TASKS_SHARED_CLASS CustomProjectProperty final : public Aspose::Tasks::Properties::Property
44 {
47 
48  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
49  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
50 
52 
53 public:
54 
55  /// <summary>
56  /// Gets a type of the property.
57  /// </summary>
58  ASPOSE_TASKS_SHARED_API CustomPropertyType get_Type() const;
59 
60 protected:
61 
62  /// <summary>
63  /// Initializes a new instance of the <see cref="CustomProjectProperty"></see> class.
64  /// </summary>
65  ASPOSE_TASKS_SHARED_API CustomProjectProperty(const System::String& name, const System::SharedPtr<System::Object>& value);
66 
67  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(CustomProjectProperty, CODEPORTING_ARGS(const System::String& name, const System::SharedPtr<System::Object>& value));
68  ASPOSE_TASKS_SHARED_API void SetValue(System::SharedPtr<System::Object> val) override;
69  #ifdef ASPOSE_GET_SHARED_MEMBERS
70  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
71  #endif
72 
73 
74 private:
75 
76  static System::SharedPtr<System::Collections::Generic::IDictionary<System::TypeInfo, CustomPropertyType>>& TypeMappingDictionary();
77 
78  CustomPropertyType pr_Type;
79 
80  /// <summary>
81  /// Gets a type of the property.
82  /// </summary>
83  ASPOSE_TASKS_SHARED_API void set_Type(CustomPropertyType value);
84 
85  static System::SharedPtr<System::Collections::Generic::IDictionary<System::TypeInfo, CustomPropertyType>> CreateTypeMapping();
86  CustomPropertyType GetCustomPropertyType(const System::SharedPtr<System::Object>& value);
87 
88 };
89 
90 } // namespace Properties
91 } // namespace Tasks
92 } // namespace Aspose
93 
94 
Represents a collection of custom project properties.
Definition: CustomProjectPropertyCollection.h:50
Represents a custom property.
Definition: CustomProjectProperty.h:44
CustomPropertyType get_Type() const
Gets a type of the property.
Represents a base class of a property.
Definition: Property.h:34
Definition: Asn.h:13