// 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
{
/// The type information of an object.
public interface ITypeData : IReflectionData
{
/// The base type of this type.
ITypeData BaseType { get; }
/// Gets the members of this object.
///
IEnumerable GetMembers();
/// Gets a member of this object by name.
///
///
IMemberData GetMember(string name);
///
/// Creates an instance of this type. The arguments are used for construction.
///
///
///
object CreateInstance(object[] arguments);
///
/// Gets if CreateInstance will work for this type. For examples, for interfaces and abstract classes it will not work.
///
bool CanCreateInstance { get; }
}
}