What .Net type to use for Sql Server Varbinary Value

P

Phil C.

Hi. I have a stored procedure that returns a select on a table of sql
server varbinary values.
The return gets bound to a datatable and when I examine a cell value from
the datarow level, i.e. dr("foo column") I don't know what type the value
is? I need to convert
dr("foo column") to a byte array.
 
D

David Browne

Phil C. said:
Hi. I have a stored procedure that returns a select on a table of sql
server varbinary values.
The return gets bound to a datatable and when I examine a cell value from
the datarow level, i.e. dr("foo column") I don't know what type the value
is?


Then examine it in the debugger

dim o as Object = dr("foo column")
Console.WriteLine(o.GetType().Name)

David
 
P

Phil C.

Miha,
That is the first thing I tried, and I get a "
Specified cast is not valid. "
error.
I tried using System.Text.Encoding.Unicode.GetBytes but that doesn't work


The stored procedure I use to get the table values is a simple select
statement of all the columns of the table (all the columns are varbinary),
and I'm using the old data access block with an "ExecuteDataset"
Miha Markic said:
Hi Phil,

I should be mapped to byte[] (byte array).

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Hi. I have a stored procedure that returns a select on a table of sql
server varbinary values.
The return gets bound to a datatable and when I examine a cell value from
the datarow level, i.e. dr("foo column") I don't know what type the value
is? I need to convert
dr("foo column") to a byte array.
 
F

Frans Bouma [C# MVP]

Phil said:
Miha,
That is the first thing I tried, and I get a "
Specified cast is not valid. "
error.
I tried using System.Text.Encoding.Unicode.GetBytes but that doesn't
work

strange, as SqlDataReader will return a byte[] for a varbinary...

FB
The stored procedure I use to get the table values is a simple select
statement of all the columns of the table (all the columns are
varbinary), and I'm using the old data access block with an
ExecuteDataset" "Miha Markic said:
Hi Phil,

I should be mapped to byte[] (byte array).

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Hi. I have a stored procedure that returns a select on a table of sql >> server varbinary values.
The return gets bound to a datatable and when I examine a cell
value from >> the datarow level, i.e. dr("foo column") I don't know
what type the value >> is? I need to convert


--
 
M

Miha Markic [MVP C#]

What exactly did you try?
Anyway, you might check DataColumn.DataType to get the column's type
assuming the return value of ExecuteDataset is either DataSet or DataTable.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Miha,
That is the first thing I tried, and I get a "
Specified cast is not valid. "
error.
I tried using System.Text.Encoding.Unicode.GetBytes but that doesn't work


The stored procedure I use to get the table values is a simple select
statement of all the columns of the table (all the columns are varbinary),
and I'm using the old data access block with an "ExecuteDataset"
Miha Markic said:
Hi Phil,

I should be mapped to byte[] (byte array).

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Hi. I have a stored procedure that returns a select on a table of sql
server varbinary values.
The return gets bound to a datatable and when I examine a cell value
from the datarow level, i.e. dr("foo column") I don't know what type the
value is? I need to convert
dr("foo column") to a byte array.
 
P

Phil C.

Here is the code for the function and the stored procedure:

Function:

Friend Function IfRegisteredReturnDataRow(ByVal plaintextEmailAddress As
String, ByVal pass As String) As Boolean
Dim custDs As New DataSet("Customers")
custDs = SqlHelper.ExecuteDataset(connectionString(),
CommandType.StoredProcedure, "GetCustomerTable")
Dim dRow As DataRow
Dim dCol As DataColumn
Dim aes As New AesCryptClass
Dim iVByteArray As Byte()
Dim emailAddressByteArray() As Byte
Dim decryptedEmailAddress As String
Dim passByteArray() As Byte
Dim saltHsh As New SaltedHash
For Each dRow In custDs.Tables.Item(0).Rows
'Get the IV value and the encrypted email value of each row
If Not (dRow("IV").Equals(System.DBNull.Value) And
dRow("EmailAddress").Equals(System.DBNull.Value)) Then

'Dim ivSqlBinary As New SqlBinary(dRow("IV")) 'Tried
conversion with SqlBinary doesn't work either, get narrowing cast error

iVByteArray = dRow("IV") 'Doesn't work
emailAddressByteArray =
Encoding.UTF8.GetBytes(dRow("EmailAddress")) 'Doesn't work
passByteArray = Encoding.UTF8.GetBytes(dRow("Password"))
decryptedEmailAddress = aes.Decrypt(emailAddressByteArray,
iVByteArray)
If plaintextEmailAddress = decryptedEmailAddress And _
saltHsh.ComparePasswords(passByteArray,
Encoding.UTF8.GetBytes(pass)) Then
Return True
End If
End If
Next
Return False
End Function

Stored Proc:
CREATE PROCEDURE GetCustomerTable As
SELECT IV, LastName, FirstName, EmailAddress,Phone,Password,
Street,ApartmentNumber,Town,State
FROM Customers
GO

All columns except for the CustomerID column (PK) are varbinary
Frans Bouma said:
Phil said:
Miha,
That is the first thing I tried, and I get a "
Specified cast is not valid. "
error.
I tried using System.Text.Encoding.Unicode.GetBytes but that doesn't
work

strange, as SqlDataReader will return a byte[] for a varbinary...

FB
The stored procedure I use to get the table values is a simple select
statement of all the columns of the table (all the columns are
varbinary), and I'm using the old data access block with an
ExecuteDataset" "Miha Markic said:
Hi Phil,

I should be mapped to byte[] (byte array).

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Hi. I have a stored procedure that returns a select on a table of
sql >> server varbinary values.
The return gets bound to a datatable and when I examine a cell
value from >> the datarow level, i.e. dr("foo column") I don't know
what type the value >> is? I need to convert
dr("foo column") to a byte array.


--
------------------------------------------------------------------------
Get LLBLGen Pro, productive O/R mapping for .NET: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
C

Cor Ligthert [MVP]

Phil,

The normal code for this isiVByteArray = DirectCast(dRow("IV"), Byte())

I hope this helps,

Cor
 
P

Phil C.

Hi all. When I try direct cast, I get:
Specified cast is not valid.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.InvalidCastException: Specified cast is not valid.

Source Error:

Line 52: 'Dim ivSqlBinary As New SqlBinary(dRow("IV"))
Line 53:
Line 54: iVByteArray = DirectCast(dRow("IV"), Byte())
This leads me to suspect that there is a problem with the DataAccessBlockI
have never been able to get this version to work with output parameters, so
there is a good chance there is a bug in it detecting the type of columnit
grabs from the table and is returning something bad.I tried reading about
the new dataAccessBlock in the Enterprise Library and using it, but couldn't
figure it out. I think there may be a betterversion of the DAAB on
GotDotNet that perhaps I should try. Or for that matter,I could write the
stored procedure -> Command object code manually.

Miha Markic said:
What exactly did you try?
Anyway, you might check DataColumn.DataType to get the column's type
assuming the return value of ExecuteDataset is either DataSet or
DataTable.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Miha,
That is the first thing I tried, and I get a "
Specified cast is not valid. "
error.
I tried using System.Text.Encoding.Unicode.GetBytes but that doesn't work


The stored procedure I use to get the table values is a simple select
statement of all the columns of the table (all the columns are
varbinary), and I'm using the old data access block with an
"ExecuteDataset"
Miha Markic said:
Hi Phil,

I should be mapped to byte[] (byte array).

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Hi. I have a stored procedure that returns a select on a table of sql
server varbinary values.
The return gets bound to a datatable and when I examine a cell value
from the datarow level, i.e. dr("foo column") I don't know what type
the value is? I need to convert
dr("foo column") to a byte array.
 
M

Miha Markic [MVP C#]

Please, look what dRow.Table.Columns("IV").DataType type is.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Hi all. When I try direct cast, I get:
Specified cast is not valid.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.InvalidCastException: Specified cast is not
valid.

Source Error:

Line 52: 'Dim ivSqlBinary As New SqlBinary(dRow("IV"))
Line 53:
Line 54: iVByteArray = DirectCast(dRow("IV"), Byte())
This leads me to suspect that there is a problem with the DataAccessBlockI
have never been able to get this version to work with output parameters,
so there is a good chance there is a bug in it detecting the type of
columnit grabs from the table and is returning something bad.I tried
reading about the new dataAccessBlock in the Enterprise Library and using
it, but couldn't figure it out. I think there may be a betterversion of
the DAAB on GotDotNet that perhaps I should try. Or for that matter,I
could write the stored procedure -> Command object code manually.

Miha Markic said:
What exactly did you try?
Anyway, you might check DataColumn.DataType to get the column's type
assuming the return value of ExecuteDataset is either DataSet or
DataTable.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Miha,
That is the first thing I tried, and I get a "
Specified cast is not valid. "
error.
I tried using System.Text.Encoding.Unicode.GetBytes but that doesn't
work


The stored procedure I use to get the table values is a simple select
statement of all the columns of the table (all the columns are
varbinary), and I'm using the old data access block with an
"ExecuteDataset"
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message
Hi Phil,

I should be mapped to byte[] (byte array).

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Hi. I have a stored procedure that returns a select on a table of sql
server varbinary values.
The return gets bound to a datatable and when I examine a cell value
from the datarow level, i.e. dr("foo column") I don't know what type
the value is? I need to convert
dr("foo column") to a byte array.
 
P

Phil C.

Miha,
When I execute
Dim type As Type = dRow.Table.Columns("IV").DataType()

the debugger says type is just "System.RuntimeType"

AND I just eliminated the DAAB with the standard stored procedure call, so
the problem isn't the DAAB. Am I using the dataRow("columnName") syntax
properly such that the

For each loop is setting the dataRow to each row, and I am indeed accessing
the field at

this row, "column name"????



Friend Function IfRegistered(ByVal plaintextEmailAddress As String, ByVal
pass As String) As Boolean

Dim custDs As New DataSet

'custDs = SqlHelper.ExecuteDataset(connectionString(),
CommandType.StoredProcedure, "GetCustomerTable")

Dim cn As New SqlConnection(connectionString())

Dim cmd As New SqlDataAdapter

cmd.SelectCommand = New SqlCommand

With cmd.SelectCommand

..Connection = cn

..CommandText = "GetCustomerTable"

..CommandType = CommandType.StoredProcedure

End With

cmd.Fill(custDs, "Customers")

Dim dRow As DataRow

Dim dCol As DataColumn

Dim aes As New AesCryptClass

Dim iVByteArray As Byte()

Dim emailAddressByteArray() As Byte

Dim decryptedEmailAddress As String

Dim passByteArray() As Byte

Dim saltHsh As New SaltedHash

For Each dRow In custDs.Tables.Item(0).Rows

'Get the IV value and the encrypted email value of each row

If Not (dRow("IV").Equals(System.DBNull.Value) And
dRow("EmailAddress").Equals(System.DBNull.Value)) Then

'Dim ivSqlBinary As New SqlBinary(dRow("IV"))

Dim type As Type = dRow.Table.Columns("IV").DataType()



Miha Markic said:
Please, look what dRow.Table.Columns("IV").DataType type is.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Phil C. said:
Hi all. When I try direct cast, I get:
Specified cast is not valid.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.InvalidCastException: Specified cast is not
valid.

Source Error:

Line 52: 'Dim ivSqlBinary As New SqlBinary(dRow("IV"))
Line 53:
Line 54: iVByteArray = DirectCast(dRow("IV"), Byte())
This leads me to suspect that there is a problem with the
DataAccessBlockI have never been able to get this version to work with
output parameters, so there is a good chance there is a bug in it
detecting the type of columnit grabs from the table and is returning
something bad.I tried reading about the new dataAccessBlock in the
Enterprise Library and using it, but couldn't figure it out. I think
there may be a betterversion of the DAAB on GotDotNet that perhaps I
should try. Or for that matter,I could write the stored procedure ->
Command object code manually.

Miha Markic said:
What exactly did you try?
Anyway, you might check DataColumn.DataType to get the column's type
assuming the return value of ExecuteDataset is either DataSet or
DataTable.

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Miha,
That is the first thing I tried, and I get a "
Specified cast is not valid. "
error.
I tried using System.Text.Encoding.Unicode.GetBytes but that doesn't
work


The stored procedure I use to get the table values is a simple select
statement of all the columns of the table (all the columns are
varbinary), and I'm using the old data access block with an
"ExecuteDataset"
"Miha Markic [MVP C#]" <miha at rthand com> wrote in message
Hi Phil,

I should be mapped to byte[] (byte array).

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Hi. I have a stored procedure that returns a select on a table of
sql server varbinary values.
The return gets bound to a datatable and when I examine a cell value
from the datarow level, i.e. dr("foo column") I don't know what type
the value is? I need to convert
dr("foo column") to a byte array.
 
M

Miha Markic [MVP C#]

Phil C. said:
Miha,
When I execute
Dim type As Type = dRow.Table.Columns("IV").DataType()

the debugger says type is just "System.RuntimeType"

Yes, that's the debuger hint.
Try type.ToString() or expand the type node in one of Debug Windows.
 
P

Phil C.

Miha, here is a copy of the tree:
(Note that I added the line type.ToString() after the line
Dim type As Type = dRow.Table.Columns("IV").DataType()

)


+ dRow {System.Data.DataRow} System.Data.DataRow
- dRow.Table.Columns("IV").DataType {System.RuntimeType} System.Type
+ [System.RuntimeType] {System.RuntimeType} System.RuntimeType
+ Assembly {System.Reflection.Assembly} System.Reflection.Assembly
AssemblyQualifiedName "System.Byte[], mscorlib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" String
Attributes 8449 System.Reflection.TypeAttributes
+ BaseType {System.RuntimeType} System.Type
DeclaringType Nothing System.Type
+ DefaultBinder {System.DefaultBinder} System.Reflection.Binder
Delimiter "."c Char
EmptyTypes {Length=0} System.Type()
+ FilterAttribute {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
+ FilterName {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ FilterNameIgnoreCase {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
FullName "System.Byte[]" String
+ GUID {System.Guid} System.Guid
HasElementType True Boolean
IsAbstract False Boolean
IsAnsiClass True Boolean
IsArray True Boolean
IsAutoClass False Boolean
IsAutoLayout True Boolean
IsByRef False Boolean
IsClass True Boolean
IsCOMObject False Boolean
IsContextful False Boolean
IsEnum False Boolean
IsExplicitLayout False Boolean
IsImport False Boolean
IsInterface False Boolean
IsLayoutSequential False Boolean
IsMarshalByRef False Boolean
IsNestedAssembly False Boolean
IsNestedFamANDAssem False Boolean
IsNestedFamily False Boolean
IsNestedFamORAssem False Boolean
IsNestedPrivate False Boolean
IsNestedPublic False Boolean
IsNotPublic False Boolean
IsPointer False Boolean
IsPrimitive False Boolean
IsPublic True Boolean
IsSealed True Boolean
IsSerializable True Boolean
IsSpecialName False Boolean
IsUnicodeClass False Boolean
IsValueType False Boolean
MemberType TypeInfo System.Reflection.MemberTypes
+ Missing {System.Reflection.Missing} Object
+ Module {System.Reflection.Module} System.Reflection.Module
Name "Byte[]" String
Namespace "System" String
ReflectedType Nothing System.Type
- TypeHandle {System.RuntimeTypeHandle} System.RuntimeTypeHandle
Value 51077434 System.IntPtr
TypeInitializer Nothing System.Reflection.ConstructorInfo
- UnderlyingSystemType {System.RuntimeType} System.Type
+ [System.RuntimeType] {System.RuntimeType} System.RuntimeType
+ Assembly {System.Reflection.Assembly} System.Reflection.Assembly
AssemblyQualifiedName "System.Byte[], mscorlib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" String
Attributes 8449 System.Reflection.TypeAttributes
+ BaseType {System.RuntimeType} System.Type
DeclaringType Nothing System.Type
+ DefaultBinder {System.DefaultBinder} System.Reflection.Binder
Delimiter "."c Char
EmptyTypes {Length=0} System.Type()
+ FilterAttribute {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
+ FilterName {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ FilterNameIgnoreCase {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
FullName "System.Byte[]" String
+ GUID {System.Guid} System.Guid
HasElementType True Boolean
IsAbstract False Boolean
IsAnsiClass True Boolean
IsArray True Boolean
IsAutoClass False Boolean
IsAutoLayout True Boolean
IsByRef False Boolean
IsClass True Boolean
IsCOMObject False Boolean
IsContextful False Boolean
IsEnum False Boolean
IsExplicitLayout False Boolean
IsImport False Boolean
IsInterface False Boolean
IsLayoutSequential False Boolean
IsMarshalByRef False Boolean
IsNestedAssembly False Boolean
IsNestedFamANDAssem False Boolean
IsNestedFamily False Boolean
IsNestedFamORAssem False Boolean
IsNestedPrivate False Boolean
IsNestedPublic False Boolean
IsNotPublic False Boolean
IsPointer False Boolean
IsPrimitive False Boolean
IsPublic True Boolean
IsSealed True Boolean
IsSerializable True Boolean
IsSpecialName False Boolean
IsUnicodeClass False Boolean
IsValueType False Boolean
MemberType TypeInfo System.Reflection.MemberTypes
+ Missing {System.Reflection.Missing} Object
+ Module {System.Reflection.Module} System.Reflection.Module
Name "Byte[]" String
Namespace "System" String
ReflectedType Nothing System.Type
+ TypeHandle {System.RuntimeTypeHandle} System.RuntimeTypeHandle
TypeInitializer Nothing System.Reflection.ConstructorInfo
+ UnderlyingSystemType {System.RuntimeType} System.Type
decryptedEmailAddress Nothing String
emailAddressByteArray Nothing Byte()
iVByteArray Nothing Byte()
passByteArray Nothing Byte()
- type {System.RuntimeType} System.Type
- [System.RuntimeType] {System.RuntimeType} System.RuntimeType
- Assembly {System.Reflection.Assembly} System.Reflection.Assembly
CodeBase
"file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll" String
EntryPoint Nothing System.Reflection.MethodInfo
EscapedCodeBase
"file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll" String
+ Evidence {System.Security.Policy.Evidence} System.Security.Policy.Evidence
FullName "mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" String
GlobalAssemblyCache False Boolean
ImageRuntimeVersion "v1.1.4322" String
Location "c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll" String
AssemblyQualifiedName "System.Byte[], mscorlib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" String
Attributes 8449 System.Reflection.TypeAttributes
+ BaseType {System.RuntimeType} System.Type
DeclaringType Nothing System.Type
DeclaringType Nothing System.Type
+ DefaultBinder {System.DefaultBinder} System.Reflection.Binder
Delimiter "."c Char
EmptyTypes {Length=0} System.Type()
+ FilterAttribute {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
+ FilterName {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ FilterNameIgnoreCase {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
FullName "System.Byte[]" String
+ GUID {System.Guid} System.Guid
HasElementType True Boolean
IsAbstract False Boolean
IsAnsiClass True Boolean
IsArray True Boolean
IsAutoClass False Boolean
IsAutoLayout True Boolean
IsByRef False Boolean
IsClass True Boolean
IsCOMObject False Boolean
IsContextful False Boolean
IsEnum False Boolean
IsExplicitLayout False Boolean
IsImport False Boolean
IsInterface False Boolean
IsLayoutSequential False Boolean
IsMarshalByRef False Boolean
IsNestedAssembly False Boolean
IsNestedFamANDAssem False Boolean
IsNestedFamily False Boolean
IsNestedFamORAssem False Boolean
IsNestedPrivate False Boolean
IsNestedPublic False Boolean
IsNotPublic False Boolean
IsPointer False Boolean
IsPrimitive False Boolean
IsPublic True Boolean
IsSealed True Boolean
IsSerializable True Boolean
IsSpecialName False Boolean
IsUnicodeClass False Boolean
IsValueType False Boolean
MemberType TypeInfo System.Reflection.MemberTypes
+ Missing {System.Reflection.Missing} Object
+ Module {System.Reflection.Module} System.Reflection.Module
Name "Byte[]" String
Namespace "System" String
ReflectedType Nothing System.Type
+ TypeHandle {System.RuntimeTypeHandle} System.RuntimeTypeHandle
TypeInitializer Nothing System.Reflection.ConstructorInfo
+ UnderlyingSystemType {System.RuntimeType} System.Type
+ Assembly {System.Reflection.Assembly} System.Reflection.Assembly
AssemblyQualifiedName "System.Byte[], mscorlib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" String
Attributes 8449 System.Reflection.TypeAttributes
- BaseType {System.RuntimeType} System.Type
+ [System.RuntimeType] {System.RuntimeType} System.RuntimeType
+ Assembly {System.Reflection.Assembly} System.Reflection.Assembly
AssemblyQualifiedName "System.Array, mscorlib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" String
Attributes 1056897 System.Reflection.TypeAttributes
+ BaseType {System.RuntimeType} System.Type
DeclaringType Nothing System.Type
+ DefaultBinder {System.DefaultBinder} System.Reflection.Binder
Delimiter "."c Char
EmptyTypes {Length=0} System.Type()
+ FilterAttribute {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
+ FilterName {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ FilterNameIgnoreCase {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
FullName "System.Array" String
+ GUID {System.Guid} System.Guid
HasElementType False Boolean
IsAbstract True Boolean
IsAnsiClass True Boolean
IsArray False Boolean
IsAutoClass False Boolean
IsAutoLayout True Boolean
IsByRef False Boolean
IsClass True Boolean
IsCOMObject False Boolean
IsContextful False Boolean
IsEnum False Boolean
IsExplicitLayout False Boolean
IsImport False Boolean
IsInterface False Boolean
IsLayoutSequential False Boolean
IsMarshalByRef False Boolean
IsNestedAssembly False Boolean
IsNestedFamANDAssem False Boolean
IsNestedFamily False Boolean
IsNestedFamORAssem False Boolean
IsNestedPrivate False Boolean
IsNestedPublic False Boolean
IsNotPublic False Boolean
IsPointer False Boolean
IsPrimitive False Boolean
IsPublic True Boolean
IsSealed False Boolean
IsSerializable True Boolean
IsSpecialName False Boolean
IsUnicodeClass False Boolean
IsValueType False Boolean
MemberType TypeInfo System.Reflection.MemberTypes
+ Missing {System.Reflection.Missing} Object
+ Module {System.Reflection.Module} System.Reflection.Module
Name "Array" String
Namespace "System" String
ReflectedType Nothing System.Type
+ TypeHandle {System.RuntimeTypeHandle} System.RuntimeTypeHandle
TypeInitializer Nothing System.Reflection.ConstructorInfo
+ UnderlyingSystemType {System.RuntimeType} System.Type
DeclaringType Nothing System.Type
+ DefaultBinder {System.DefaultBinder} System.Reflection.Binder
Delimiter "."c Char
EmptyTypes {Length=0} System.Type()
+ FilterAttribute {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
+ FilterName {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ FilterNameIgnoreCase {System.Reflection.MemberFilter}
System.Reflection.MemberFilter
FullName "System.Byte[]" String
+ GUID {System.Guid} System.Guid
HasElementType True Boolean
IsAbstract False Boolean
IsAnsiClass True Boolean
IsArray True Boolean
IsAutoClass False Boolean
IsAutoLayout True Boolean
IsByRef False Boolean
IsClass True Boolean
IsCOMObject False Boolean
IsContextful False Boolean
IsEnum False Boolean
IsExplicitLayout False Boolean
IsImport False Boolean
IsInterface False Boolean
IsLayoutSequential False Boolean
IsMarshalByRef False Boolean
IsNestedAssembly False Boolean
IsNestedFamANDAssem False Boolean
IsNestedFamily False Boolean
IsNestedFamORAssem False Boolean
IsNestedPrivate False Boolean
IsNestedPublic False Boolean
IsNotPublic False Boolean
IsPointer False Boolean
IsPrimitive False Boolean
IsPublic True Boolean
IsSealed True Boolean
IsSerializable True Boolean
IsSpecialName False Boolean
IsUnicodeClass False Boolean
IsValueType False Boolean
MemberType TypeInfo System.Reflection.MemberTypes
+ Missing {System.Reflection.Missing} Object
+ Module {System.Reflection.Module} System.Reflection.Module
Name "Byte[]" String
Namespace "System" String
ReflectedType Nothing System.Type
+ TypeHandle {System.RuntimeTypeHandle} System.RuntimeTypeHandle
TypeInitializer Nothing System.Reflection.ConstructorInfo
+ UnderlyingSystemType {System.RuntimeType} System.Type
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top