xtd 0.2.0
assembly_name_attribute.hpp
Go to the documentation of this file.
1
3#pragma once
4#include "../attribute.hpp"
5#include "../iequatable.hpp"
6
8namespace xtd {
10 namespace reflection {
26 class core_export_ assembly_name_attribute final : public xtd::attribute, public xtd::iequatable<xtd::reflection::assembly_name_attribute> {
27 public:
29
33 explicit assembly_name_attribute(const string& name);
35
38 assembly_name_attribute(const string& name, const object& executing_assembly);
40
44 const string& name() const noexcept;
46
48
53 bool equals(const object& obj) const noexcept override;
57 bool equals(const assembly_name_attribute& other) const noexcept override;
58
61 xtd::size get_hash_code() const noexcept override;
63
64 protected:
65 xtd::sptr<object> get_type_id() const noexcept override;
66
67 private:
68 string name_;
69 };
70 }
71}
72
74xtd::sptr<xtd::reflection::assembly_name_attribute>& __assembly_name_attribute__();
76
92#define assembly_name_(name) \
93 xtd::reflection::assembly_name_attribute __assembly_name_attribute {name, xtd::object()}
94
Represents the base class for custom attributes.
Definition attribute.hpp:25
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
Specifies a name for an assembly.
Definition assembly_name_attribute.hpp:26
const string & name() const noexcept
Gets name information.
assembly_name_attribute(const string &name)
Initializes a new instance of the xtd::reflection::assembly_name_attribute class.
#define core_export_
Define shared library export.
Definition core_export.hpp:13
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
std::shared_ptr< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10