// Copyright Keysight Technologies 2012-2019
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
// file, you can obtain one at http://mozilla.org/MPL/2.0/.
|
using System.Collections.Generic;
|
|
namespace OpenTap
|
{
|
/// <summary> The type information of an object. </summary>
|
public interface ITypeData : IReflectionData
|
{
|
/// <summary> The base type of this type. </summary>
|
ITypeData BaseType { get; }
|
/// <summary> Gets the members of this object. </summary>
|
/// <returns></returns>
|
IEnumerable<IMemberData> GetMembers();
|
/// <summary> Gets a member of this object by name. </summary>
|
/// <param name="name"></param>
|
/// <returns></returns>
|
IMemberData GetMember(string name);
|
/// <summary>
|
/// Creates an instance of this type. The arguments are used for construction.
|
/// </summary>
|
/// <param name="arguments"></param>
|
/// <returns></returns>
|
object CreateInstance(object[] arguments);
|
/// <summary>
|
/// Gets if CreateInstance will work for this type. For examples, for interfaces and abstract classes it will not work.
|
/// </summary>
|
bool CanCreateInstance { get; }
|
}
|
}
|