Home
  • Manual
  • Node Index
  • API
  • Changelog
Show / Hide Table of Contents
  • InsaneScatterbrain
    • Calc
    • Color32EqualityComparer
    • EqualityComparer
    • TrigMath
  • InsaneScatterbrain.DataStructures
    • Pair<T>
  • InsaneScatterbrain.DelaunatorSharp
    • DelaunatorNoAlloc
  • InsaneScatterbrain.Dependencies
    • DependencyContainer
    • DependencyNotFoundException
    • IDependencyContainer
  • InsaneScatterbrain.Editor.Services
    • Assets
  • InsaneScatterbrain.Editor.Updates
    • UpdateAction
    • Updater
  • InsaneScatterbrain.Extensions
    • ColorExtensions
    • ExceptionExtensions
    • FieldInfoExtensions
    • HashSetExtensions
    • IntExtensions
    • ListExtensions
    • RandomExtensions
    • SortedListExtensions
    • StackExtensions
    • Texture2DDrawingExtensions
    • Texture2DExtensions
    • TypeExtensions
    • Vector2Extensions
    • Vector2IntExtensions
  • InsaneScatterbrain.MapGraph
    • AddFloatsNode
    • AddFloatToVector2Node
    • AddFloatToVector3Node
    • AddIntsNode
    • AddIntToVector2IntNode
    • AddIntToVector3IntNode
    • AddRandomEdgesNode
    • AddVector2IntsNode
    • AddVector2sNode
    • AddVector3IntsNode
    • AddVector3sNode
    • ApplyMaskNode
    • Area
    • AreaExtractor
    • AreaGraph
    • AreaGraphBuilder
    • AreaGraphEdge
    • AreaGraphEdgePool
    • AreaGraphPool
    • AreaPool
    • AreasCentroidPointsNode
    • AreasSpecialBorderPointsNode
    • AreasToPointsNode
    • BasicMathOperationNode<T>
    • BasicMathOperationNode<T1, T2, TOut>
    • BspLeafCenterPointsNode
    • BspNode
    • BspNodePool
    • BspTree
    • BspTreePool
    • CellularAutomataSmoothingNode
    • ChangeTextureSizeNode
    • ClampFloatsNode
    • ClampIntsNode
    • CollectionPool<TCollection, TValue>
    • ConnectAreaGraphCentroidsNode
    • ConnectAreaGraphClosestBorderPointsNode
    • ConnectAreaGraphRandomPointsNode
    • ConnectedPointsToPointsNode
    • ConvertTextureToTilemapNode
    • CopyTilemapDataNode
    • CornerPointsNode
    • CurrentOrEmptyTextureNode
    • DataToTextureNode
    • DictionaryPool<TDictionary, TKey, TValue>
    • DivideFloatsNode
    • DivideIntsNode
    • DivideVector2ByFloatNode
    • DivideVector2IntByIntNode
    • DivideVector2IntsNode
    • DivideVector2sNode
    • DivideVector3ByFloatNode
    • DivideVector3IntByIntNode
    • DivideVector3IntsNode
    • DivideVector3sNode
    • DomainWarpFractalType
    • DomainWarpType
    • DrawAreasNode
    • DrawBorderNode
    • DrawCirclesNode
    • DrawConnectionsBiasedRandomWalkNode
    • DrawGridNode
    • DrawManhattanConnectionsNode
    • DrawNoiseThresholdNode
    • DrawOutlineNode
    • DrawPointsNode
    • DrawRectsNode
    • DrawShortestPathNode
    • EmptyTextureNode
    • ExtractAreasNode
    • ExtractColorNode
    • ExtractPointsNode
    • ExtractPointsWithNeighboursNode
    • FastNoiseEnum
    • FlipTextureNode
    • FractalType
    • GenerateAreaGraphNode
    • GenerateMstAreaGraphNode
    • GenerateRstAreaGraphNode
    • HexagonalGridOffsetType
    • InvertMaskNode
    • IObjectType<TEntry, TObject>
    • IObjectTypeEntry<T>
    • IObjectTypeSet<TType, TObject>
    • ListPool<TValue>
    • LoadTextureData
    • MapGraphGraph
    • MapGraphTilemapPrefab
    • Mask
    • MaskPool
    • MaxFloatsNode
    • MaxIntsNode
    • MergeAreasNode
    • MergeMasksNode
    • MergePointsNode
    • MergeTilemapsNode
    • MinFloatsNode
    • MinIntsNode
    • MultiplyFloatsNode
    • MultiplyIntsNode
    • MultiplyVector2ByFloatNode
    • MultiplyVector2IntByIntNode
    • MultiplyVector2IntsNode
    • MultiplyVector2sNode
    • MultiplyVector3ByFloatNode
    • MultiplyVector3IntByIntNode
    • MultiplyVector3IntsNode
    • MultiplyVector3sNode
    • NamedColor
    • NamedColorNode
    • NamedColorSet
    • NoiseNode
    • ObjectType<TEntry, TObject>
    • ObjectTypeEntry<T>
    • ObjectTypeSet<TType, TEntry, TObject>
    • ObjectTypeSetScriptableObject<TType, TEntry, TObject>
    • OpenObjectTypeSet<TType, TEntry, TObject>
    • Outliner
    • PerlinNoiseFillTextureNode
    • PointsToAreasNode
    • PoolInitializer
    • PowerNode
    • PrefabSet
    • PrefabType
    • PrefabTypeEntry
    • RandomBoolNode
    • RandomBspRoomsNode
    • RandomBspTreeNode
    • RandomColorNode
    • RandomExtensions
    • RandomFloatNode
    • RandomIntNode
    • RandomlyFillTextureNode
    • RandomlyStampTilemapsNode
    • RandomNode<T>
    • RandomPointsNode
    • RandomRectsNode
    • RandomRngStateNode
    • RandomVector2IntNode
    • RandomVector2Node
    • RandomVector3IntNode
    • RandomVector3Node
    • RandomWalkerNode
    • RangeRandomNode<T>
    • RectCenterPointsNode
    • RectsToAreasNode
    • ReplaceColorNode
    • ReplaceGameObjectChildrenNode
    • ResizeTextureNode
    • RotateTextureNode
    • RotationalSymmetry
    • SaveData
    • SaveTextureData
    • ScaleTextureNode
    • ScaleTextureToNode
    • ScaleTextureVector2Node
    • ShiftTextureNode
    • SplitConnectionsManhattanNode
    • SquareRootNode
    • StackPool<T>
    • StampNode
    • SubtractFloatFromVector2Node
    • SubtractFloatFromVector3Node
    • SubtractFloatsNode
    • SubtractIntFromVector2IntNode
    • SubtractIntFromVector3IntNode
    • SubtractIntsNode
    • SubtractMaskNode
    • SubtractVector2IntsNode
    • SubtractVector2sNode
    • SubtractVector3IntsNode
    • SubtractVector3sNode
    • TextureData
    • TextureData.Color32ArrayFacade
    • TextureDataDrawingExtensions
    • TextureDataExtensions
    • TextureDataPool
    • TextureSizeNode
    • TextureToChildGameObjectsNode
    • TextureToDataNode
    • TextureToGameObjectsNode
    • TextureToMaskNode
    • TextureToTilemapNode
    • TilemapData
    • TilemapDataPool
    • TilemapSet
    • TilemapToDataNode
    • TilemapToTextureNode
    • TilemapType
    • TilemapTypeEntry
    • Tileset
    • TileType
    • TileTypeEntry
    • TransparentColorNode
    • Vector2IntComparer
    • Vector2IntFromFloats
    • Vector2IntFromInts
    • Vector2IntToInts
    • Vector2IntToVector2
    • Vector3IntComparer
    • WaveformFunctionCollapseNode
  • InsaneScatterbrain.MapGraph.Editor
    • AboutWindow
    • AddRandomEdgesNodeView
    • ApplyMaskNodeView
    • AreaSpecialPointsNodeView
    • CellularAutomataSmoothingNodeView
    • CellularDistanceFunctionConstantNodeView
    • CellularReturnTypeConstantNodeView
    • ChangeTextureSizeNodeView
    • CornerPointsNodeView
    • DataSetList<T>
    • DataSetListBase<T>
    • DomainWarpFractalTypeNodeView
    • DomainWarpTypeConstantNodeView
    • DrawAreasNodeView
    • DrawBorderNodeView
    • DrawCirclesNodeView
    • DrawConnectionsBiasedRandomWalkNodeView
    • DrawGridNodeView
    • DrawManhattanConnectionsNodeView
    • DrawNoiseThresholdNodeView
    • DrawOutlineNodeView
    • DrawPointsNodeView
    • DrawRectsNodeView
    • DrawShortestPathConnectionsNodeView
    • EmptyTextureNodeView
    • EnumConstantNodeView<T>
    • ExtractAreasNodeView
    • ExtractColorNodeView
    • ExtractPointsNodeView
    • ExtractPointsWithNeighboursNodeView
    • FlipTextureNodeView
    • FractalTypeNodeView
    • GenerateAreaGraphNodeView
    • GenerateMstAreaGraphNodeView
    • GenerateRstAreaGraphNodeView
    • Initializer
    • InputParametersList
    • InvertMaskNodeView
    • ListBase
    • MapGraphAsset
    • MapGraphAssetUpdater
    • MapGraphCreateMenu
    • MapGraphEditor
    • MapGraphEditorInfo
    • MapGraphEditorSettingsWindow
    • MapGraphEditorSettingsWindowInitializer
    • MapGraphInitializer
    • MapGraphUpdater
    • MergeAreasNodeView
    • NamedColorNodeView
    • NamedColorSetEditor
    • NamedColorSetList
    • NewUpdatesWindow
    • NoiseNodeView
    • NoiseTypeNodeView
    • ObjectTypeEntryList<TType, TEntry, TObject>
    • ObjectTypeSetList<TType, TEntry, TObject>
    • OutputParametersList
    • ParametersList
    • PerlinNoiseFillTextureNodeView
    • PrefabSetEditor
    • PrefabTypeEntryList
    • PrefabTypeList
    • ProcessGraphNodeView
    • RandomBspRoomsNodeView
    • RandomBspTreeNodeView
    • RandomlyFillTextureNodeView
    • RandomlyStampTilemapsNodeView
    • RandomPointsNodeView
    • RandomRectsNodeView
    • RandomWalkerNodeView
    • ReplaceColorNodeView
    • ResizeTextureNodeView
    • RotateTextureNodeView
    • RotationalSymmetryNodeView
    • RotationType3dConstantNodeView
    • ScaleTextureNodeView
    • ScaleTextureToNodeView
    • ScaleTextureVector2NodeView
    • ScriptGraphAssetUpdater
    • ScriptNodeViewExtensions
    • ShiftTextureNodeView
    • StampNodeView
    • TextureConstantNodeView
    • TextureToMaskNodeView
    • TilemapConstantNodeView
    • TilemapPrefabEditor
    • TilemapSetConstantNodeView
    • TilemapSetEditor
    • TilemapToTextureNodeView
    • TilemapTypeEntryList
    • TilemapTypeList
    • TilesetConstantNodeView
    • TilesetEditor
    • TileTypeEntryList
    • TileTypeList
    • TransparentColorNodeView
    • UpdateAction_1_10
    • UpdateAction_1_14
    • UpdateAction_1_15
    • UpdateAction_1_2
    • UpdateChecker
    • WaveformFunctionCollapseNodeView
  • InsaneScatterbrain.Pooling
    • IPool
    • Pool<T>
    • PoolManager
  • InsaneScatterbrain.RandomNumberGeneration
    • Rng
    • RngState
  • InsaneScatterbrain.ScriptGraph
    • BoolParameterField
    • BoundsIntParameterField
    • BoundsParameterField
    • Color32ParameterField
    • ConstantNode
    • ConsumerNode
    • CopyData
    • CopyPaste
    • DataSet<T>
    • DataSetItem
    • DataSetScriptableObject<TItem, TOpenSet>
    • DataSetScriptableObject<TItem>
    • ExecutionGraph
    • ExecutionGraphBuilder
    • ExplicitInPortTypesAttribute
    • ExplicitOutPortTypesAttribute
    • ExplicitPortTypesAttribute
    • FloatParameterField
    • IConsumerNode
    • IDataSet
    • IDataSet<T>
    • IDataSetItem
    • IInstanceProvider
    • IncompatiblePortTypeException
    • INode
    • InPort
    • InPortAttribute
    • InputNode
    • IntParameterField
    • IOpenDataSet<T>
    • IParameterField
    • IPool
    • IPoolInitializer
    • IPreparable
    • IProcessorNode
    • IProviderNode
    • IScriptGraphInstanceProvider
    • IScriptNode
    • NewInstanceProvider
    • NewScriptGraphInstanceProvider
    • NodeEdge
    • ObjectParameterField
    • OpenDataSet<T>
    • OutPort
    • OutPortAttribute
    • OutputNode
    • PairVector2IntParameterField
    • Pool<T>
    • PoolManager
    • PoolManagerInitializer
    • PoolManagerSingleton
    • Pools
    • PortAttribute
    • PortNotFoundException
    • ProcessGraphNode
    • ProcessorNode
    • ProviderNode
    • RectIntParameterField
    • RectParameterField
    • RequiredPortNotConnectedException
    • RngExtensions
    • ScriptGraphComponents
    • ScriptGraphEditorInfo
    • ScriptGraphGraph
    • ScriptGraphInput
    • ScriptGraphInput<T>
    • ScriptGraphInputBool
    • ScriptGraphInputBounds
    • ScriptGraphInputBoundsInt
    • ScriptGraphInputColor32
    • ScriptGraphInputFloat
    • ScriptGraphInputFloatAsInt
    • ScriptGraphInputInt
    • ScriptGraphInputObject
    • ScriptGraphInputRect
    • ScriptGraphInputRectInt
    • ScriptGraphInputString
    • ScriptGraphInputTexture2D
    • ScriptGraphInputTilemap
    • ScriptGraphInputTilemapSet
    • ScriptGraphInputTileset
    • ScriptGraphInputVector2
    • ScriptGraphInputVector2Int
    • ScriptGraphInputVector3
    • ScriptGraphInputVector3Int
    • ScriptGraphMonoBehaviour
    • ScriptGraphParameter
    • ScriptGraphParameters
    • ScriptGraphPool
    • ScriptGraphPoolManager
    • ScriptGraphPoolManagerSingleton
    • ScriptGraphPort
    • ScriptGraphProcessor
    • ScriptGraphRunner
    • ScriptNode
    • ScriptNodeAttribute
    • SeedType
    • StringParameterField
    • Vector2IntParameterField
    • Vector2ParameterField
    • Vector3IntParameterField
    • Vector3ParameterField
  • InsaneScatterbrain.ScriptGraph.Editor
    • BoolConstantNodeView
    • BoundsConstantNodeView
    • BoundsIntConstantNodeView
    • ColorConstantNodeView
    • ConstantNodeView
    • ConstantNodeViewAttribute
    • FloatConstantNodeView
    • GroupNodeView
    • InputNodeView
    • IntConstantNodeView
    • NodeDuplicator
    • NodeFactory
    • ObjectConstantNodeView
    • OutPortEdgeConnectListener
    • OutputNodeView
    • RandomBspRoomsPreviewBehaviour
    • RectConstantNodeView
    • RectIntConstantNodeView
    • ScriptGraphContextMenu
    • ScriptGraphDebugger
    • ScriptGraphDependencyInstaller
    • ScriptGraphEditor
    • ScriptGraphInitializer
    • ScriptGraphInputEditor
    • ScriptGraphRunnerEditor
    • ScriptGraphValidator
    • ScriptGraphView
    • ScriptGraphViewSelection
    • ScriptGraphViewWindow
    • ScriptNodeView
    • ScriptNodeViewAttribute
    • ScriptNodeViewFactory
    • ScriptNodeViewTypesRegistry
    • StringConstantNodeView
    • Urls
    • Vector2ConstantNodeView
    • Vector2IntConstantNodeView
    • Vector3ConstantNodeView
    • Vector3IntConstantNodeView
  • InsaneScatterbrain.ScriptGraph.Editor.NodeSearch
    • ConstantEntryRegistry
    • DefaultEntryRegistry
    • EntryData
    • EntryFactory
    • GraphEntryRegistry
    • IEntryRegistry
    • InputParametersEntryRegistry
    • ISearchFilter
    • NodeSearchWindow
    • NodeType
    • OutputParametersEntryRegistry
    • ParametersEntryRegistry
    • PortFilter
  • InsaneScatterbrain.Serialization
    • ArraySerializer<T>
    • BoundsIntSerializer
    • BoundsSerializer
    • DataBag
    • DefaultArraySerializer
    • IDeserializer
    • ISerializer
    • RectIntSerializer
    • RectSerializer
    • Serializer
    • Vector2IntSerializer
    • Vector3IntSerializer
  • InsaneScatterbrain.Services
    • Disposer
    • Rng
    • Texture2DFactory
    • Types
  • InsaneScatterbrain.Threading
    • IMainThreadCommand
    • IMainThreadCommandHandler
    • IMainThreadCoroutineCommand
    • IMainThreadCoroutineCommandHandler
    • MainThread
    • MainThreadCommand
    • MainThreadCommandHandler
    • MainThreadCoroutine
    • MainThreadCoroutineCommand
    • MainThreadCoroutineCommandHandler
    • MainThreadUpdater
  • InsaneScatterbrain.Versioning
    • IVersioned
    • SerializedVersion
    • VersionedMonoBehaviour
    • VersionedScriptableObject

Class TypeExtensions

Contains methods to get friendly, human-readable type names even when using generics.

Original source: https://stackoverflow.com/a/41961738

Modified to be able to either use name or fullname and to adhere better to the coding style of this project. Added some comments.

Inheritance
System.Object
TypeExtensions
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: InsaneScatterbrain.Extensions
Syntax
public static class TypeExtensions

Methods

GetAllPrivateFields(Type)

Gets private fields of a type, including all the private fields of its parent types.

Declaration
public static IEnumerable<FieldInfo> GetAllPrivateFields(this Type type)
Parameters
Type Name Description
System.Type type

The type.

Returns
Type Description
System.Collections.Generic.IEnumerable<System.Reflection.FieldInfo>

Field info for all the private fields.

GetAttribute<T>(Type)

Declaration
public static T GetAttribute<T>(this Type type)

    where T : Attribute
Parameters
Type Name Description
System.Type type
Returns
Type Description
T
Type Parameters
Name Description
T

GetAttributes<T>(Type)

Declaration
public static IEnumerable<T> GetAttributes<T>(this Type type)

    where T : Attribute
Parameters
Type Name Description
System.Type type
Returns
Type Description
System.Collections.Generic.IEnumerable<T>
Type Parameters
Name Description
T

GetFriendlyFullname(Type)

Gets a friendly human-readable fullname of the type, even when generics are involved.

Declaration
public static string GetFriendlyFullname(this Type type)
Parameters
Type Name Description
System.Type type

The type.

Returns
Type Description
System.String

The friendly type fullname.

GetFriendlyName(Type)

Gets a friendly human-readable name of the type, even when generics are involved.

Declaration
public static string GetFriendlyName(this Type type)
Parameters
Type Name Description
System.Type type

The type.

Returns
Type Description
System.String

The friendly type name.

GetPrivateFields(Type)

Declaration
public static IEnumerable<FieldInfo> GetPrivateFields(this Type type)
Parameters
Type Name Description
System.Type type
Returns
Type Description
System.Collections.Generic.IEnumerable<System.Reflection.FieldInfo>
In This Article
Back to top Generated by DocFX