Detect The Type Of A Generic At Compile Time Using Attributes

Nov 21, 2009

I may have a difficult question here. I am working on a Generic class that is meant to work specifically with Enum's. Right now, I get the type of the Generic on instantiation and make sure that it is an Enum and throw an exception if it is not. So:

[Code]...

View 2 Replies


ADVERTISEMENT

Cast Value Type To Nullable Enumeration Type In Generic Object If All Types Are Unknown At Write-time?

Dec 14, 2011

I have a generic Class I'm using to hold information loaded from a database.I have a method which takes a DataRow as an argument, uses the object's known column name and extracts the data from the DataRow, such that:Dim loadData As T = CType(myDataRow("myColumnName"), T))works as my default assignment in most cases.Unfortunately, due to some horrifying design constraints, some of my columns may be null, and may also be taken from enumerations.This means that when <T> is Nullable(Of SomeEnumeration) the above code does not work because I can't cast 0 directly to SomeEnumeration.Zero.Is there some way to check whether <T> is Nullable(Of [Enum])? Or some way to write a method which allows Integers to be cast to Nullable(Of [Enum])?I feel like I'm forgetting something that would allow me to write one of the other of these, but my weak google-fu is turning up nothing.

EDIT: Okay, thanks to dasblinkenlight's answer below, I can detect when this circumstance is occurring, but what I need to do now is to take a type <T> which I know is Nullable(Of SomeClass), get a type reference to SomeClass and then create a new object of type Nullable(Of SomeClass) and assign that to LoadData.My problem was that I had a lot of difficulty in finding any function which would accept baseType as an actual Type.Parse accepted baseType as a parameter, I knew baseType was an [Enum] type because of dasblinkenlight's code, so I was, in this instance, able to code a solution. It's a solution which is very specific to my problem (i.e., T is Nullable(of SomeEnumeration)), but it's a solution nonetheless.

View 2 Replies

Create Expression Where Delegate Type Is Unknown At Compile Time?

Sep 21, 2011

I have a code below to make collection that bind to a gridview able to sort by clicking on the column header. The problem here is "IPerson" is unknown at compile time. I want the delegate type able to decide by getting from gridview datasource.[code]....

View 1 Replies

Use Generic Constraints Based On Attributes Rather Than Types?

Aug 28, 2009

I'm trying to write a class that will be in charge of persisting application options. Since the options need to be persisted the values that I'm sent must be serialisable.

Initially I thought I've be able to write a method with a signature like this[code]...

View 4 Replies

.net - Can A Generic Version Of A Derived Class Override A Base Method Using The Generic Type

Apr 13, 2012

Consider:

Public MustInherit Class Column
Public ReadOnly Property ReturnSomethingUseful() As Object
Get
'return something useful

[code]....

But this gives the following error:

Public Overrides Function ParseValue(sValue As String) As Boolean'
cannot override 'Public Overridable Function ParseValue(sValue As String) As Object'
because they differ by their return types.

I accept that you can't do this, but I'd like to be able to preserve the semantics of what I'm. trying to do, which is to have an untyped version that deals with Object, but a typed version in derived classes that knows about the specific type T.

View 2 Replies

.net - Determining A Generic Type At Runtime In Non-Generic Class

Aug 14, 2010

I have a Journal that records entries for different types: Journal(Of ParentT)

[Code]....

View 2 Replies

.net - Creating A Generic List Of A Generic Type

Jun 30, 2011

I am trying to create a list of a generic type in vb.net 2.0 framework.
This is the generic type definition:

Public Class GenericParamMap(Of T)
Public Sub New(ByVal pParamName As String, ByVal pPropValue As T)
mParamName = pParamName

[Code]....

The compiler does not allow a "T" in the method's parameter because it's not defined, but I'm not sure how or where to define it. I thought it was okay to have a generic method definition.

View 2 Replies

Generic Cannot Instantiate Instance Of The Generic Type With New?

Feb 8, 2012

I am trying to write a generic method, to avoid code duplication, which will create or activate a Form as an MDI children, based on its type. But I have to lines in error (see comments).

[Code]...

View 4 Replies

IDE :: Linq Causing Run-time Compile Error But No Compile Error In VS2008?

Apr 20, 2009

I have a Linq-to-SQL class diagram in my web application containing the two tables in my database (held in a DBPro database project in the same solution). All was working fine yesterday. I start doing some work tonight and note that the solution compiles fine in Visual Studio, but when I run the web app I get a compilation error:

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30002: Type 'FrostAlertDatabaseDataContext' is not defined.

[code]....

View 5 Replies

Warning: Type Library Exporter Encountered A Generic Type Instance In A Signature

May 5, 2009

I'm compiling a VB.Net 2.0 app (created in VS2008) using msbuild, and now I've added a generic return type, it's giving me the following:

Warning: Type library exporter encountered a generic type instance in a signature. Generic code may not be exported to COM.

Having just spent ages removing all of the previous warnings, I don't really want to add a new one. Any idea how to get rid of it (aside from not using generics)?I don't know what details I'd put in the attribute, or what number to put in the project-level ignore list.

View 1 Replies

Unable To Cast Object Of Type .objectquery To Type Generic.list

Sep 12, 2011

I have a question about ASP.Net, visual basic I have 2 LINQ query's, the first one works, the second one doesnt, produces a

"Unable to cast object of type 'System.Data.Objects.ObjectQuery'1[SelmaV2.Products]' to type 'System.Collections.Generic.List'1[System.String]'.

[Code]....

View 1 Replies

Using An Interface Defined In A Generic Type From Within The Defining Type

Feb 14, 2012

In trying to add a bit of usage variety to a generic class I'm working on, I ran into this issue with trying to cast an object into an interface instance where the interface is defined inside the generic class.

[Code]...

View 1 Replies

VB Allows The Type Parameters To Be Used As The Base Class For The Generic Type?

Mar 30, 2010

1) VB Allows non-type template parameters2) VB supports explicit specialization 3) VB allows the type parameters to be used as the base class for the generic type4) VB allows a generic type parameter itself to to be a generic 5) VB enforces that all codes are valid for all types of parametrs

View 1 Replies

Unable To Cast Object Of Type 'System.Collections.Generic.List`1[System.Int32]' To Type 'crmWebService.ArrayOfInt'?

May 14, 2012

I'm getting an error after sending a list to a web service.This is the code that is calling the web service:

Dim sProgramInterest As New List(Of Integer)
crmService.InsertProspectGetId(sProgramInterest.ToList)
But I'm getting this error.

[code].....

View 3 Replies

C# - Compile Date And Time?

Aug 14, 2009

Is there some clever way of getting the date and time of when the dll was built/compiled?

I'm using the assembly version numbering and reflection to retrieve and display this info when the app is deployed. But in some scenarios it would be more convenient to know when then dll was actually compiled rather than the auto incrementing version number. I don't think the modified date on the dll file itself is reliable due to the way the app is deployed.

Dim assemblies = AppDomain.CurrentDomain.GetAssemblies
Dim assemblyName As String
Dim assemblyVersion As String

[Code].....

View 3 Replies

How To Compile Time Error

Aug 27, 2010

I am having a problem while compiling one of my projects in vb.net. I have a solution consisting of multiple project,one of which is the exe. Now when i am trying to compile that project i get an error which states

View 1 Replies

Make .net Run In Compile Time?

Oct 12, 2011

Basically I am creating a program and would like it to run in compile time as opposed to the standard run time?

View 1 Replies

Unable To Cast Object Of Type 'ImagesFlag' To Type 'System.Collections.Generic.IEnumerable`1[ImagesFlag]'

Jan 7, 2012

And here is the code that produces the error

CODE:

How can i cast this one?

View 1 Replies

.net - Design UI Dynamically Or At Compile Time?

Nov 28, 2011

I want to have a bunch of different screens, yet I don't want to have to use 20 different forms (I'm pretty sure that's bad practice anyways), and I don't want to lay down all the controls at once in the designer because then things get messy. I had an idea of running a sub on startup that would dynamically generate all the controls I need with all the right coordinates and settings, and then dump al the ones needed for a specific screen into a Panel. Then I return an ArrayList of panels, and pull out the correct panel to attach to the form when I need that screen. The only problem is that my form will not have any implicit knowledge of its controls, so I'm assuming I wouldn't be able to use the WithEvents / Handles. keywords to declare handlers in the form class (which is what I'd rather do).

View 3 Replies

VS 2005 Run Code At Compile Time?

Oct 13, 2010

I've been building tools for ArcGIS. Part of ArcGIS is toolboxes which is basically a collection of tools bundled together. I know how to make toolboxes, but the code I have runs within Arc itself - ie. currently it only runs when you actually start Arc up and run a tool which makes the toolbox.

In theory the code should be able to run outside of Arc and ideally I want it to run at compile time. I know you can run executables as pre and post build events when building the installer so I was thinking I could make it build the toolbox as part of one of these. Catch is, the executable code would need to have access to the compiled files of my project (it needs a link to each tool to build the toolbox) so I can't make the executable in a seperate project. The current project is a class library. Is there a way to run code within my project when building the installer?

View 2 Replies

C# - Conditionally Hide Properties At Compile Time In .Net?

Oct 14, 2010

Depending on a preprocessor directive, I want to set all properties in a class to EditorBrowsableAttribute.Never.

I thought about creating a custom attribute, derived from EditorBrowsableAttribute, but unfortunately that class is sealed.

I've had a look at ICustomTypeDescriptor, but in the GetProperties method, I can get hold of each property descriptor, but the attributes collection is readonly.

View 3 Replies

Compile Error: Type 'System.IO.FileFormatException' Is Not Defined

Feb 14, 2011

I am writing some simple utility applications in VB.NET. I am using Visual Studio 2010 Express.I'm trying to throw a FileFormatException exception in my code if a user specifies a file that has the wrong extension. Documentation indicates that this exception has been around since .NET 3.0. See

[URL]

However, Visual Studio gives me an error saying that System.IO.FileFormatException is not defined. It's not a typo, either. FileFormatException appears in the object browser in System.IO, but doesn't appear in the Intellisense drop down when I type System.IO.File.

Here is my simple function:

Function ValidateDBFile(ByVal DbFilePath As String) As Boolean
ValidateDBFile = False
If IO.File.Exists(DbFilePath) Then
Dim flInfo As New IO.FileInfo(DbFilePath)

[code]....

View 4 Replies

Make Property Required / Catch At Compile Time?

Sep 2, 2011

[code] i get an app error when running the app, because i didn't set the ID.I was wondering if there's a way to make sure the programmer assigns all properties in the class,and fail at COMPILE TIME rather than have to catch the error at runtime...

View 2 Replies

Performance :: SLOW Compile Time - No Disk Or CPU Activity?

Aug 12, 2009

We have a project for a client that is written in VB.NET. In one of the projects, we have about 100 modules, which are all VERY simple. They're extension methods that convert between object types. Here is a small snippet:

Public Module ScheduleExtensions
<System.Runtime.CompilerServices.Extension()> _
Public Function ToServicesData(ByVal source As Schedule) As ScheduleServicesData

[code].....

View 2 Replies

Force A Compile-time Warning / When Using An Unassigned Local Variable?

Nov 15, 2010

Today I discovered that something I had assumed about VB.NET for many years was not true (worrying!). I assumed that a variable declared within a loop had a lifetime of the iteration it was declared in, but in fact it seems it has a lifetime of the whole procedure.[code]I had assumed an output of False, True, False, True but instead it is actually False, True, True, True..In C# the equivalent code would not compile as you would get a compile time error of Error "Use of unassigned local variable 'var1'".I realise there are many ways to fix this and that best practice would be to declare the variable outside of the loop and reset it at the beginning of every loop through.I find this behaviour so counter-intuitive to me that I would like at least a compile time warning in VB.NET when/if I do this. (I could also then set this on any projects I already have and get warning that would allow me to check that my assumptions aren't causing errors).Does anyone know how/if I can get this to generate a compile time warning in VB.NET? Am I the only one that finds this counter-intuitive?

View 1 Replies

Generic Declaration Using Type?

Jul 31, 2009

I'm trying to declare a generic using a variable of type System.Type, with VB 2005, and haven't found the right approach. Consider the typical:

Dim m_GenObj As MyGenericObject(of T)
Instead of using "T" I want to use a variable of System.Type, for something like:
Dim m_MyType as Type
Dim m_GenObj as MyGenericObject(of m_MyType)

But of course that doesn't work.

View 2 Replies

Returning Generic Type In .NET?

Mar 7, 2011

Someone (w69rdy) in Stack Overflow helped me out with a great example to handle DB output, that could potentially be NULL, passed into a function. The problem is I can understand the method as written in C# but I am having a problem understanding how to rewrite the method in VB.NET. The method uses generics and I am lost. Here is the method written in C# ..

public T ParseValue<T>(System.Data.SqlClient.SqlDataReader reader, string column)
{
T result = default(T);
if (!reader.IsDBNull(reader.GetOrdinal(column)))

[code].....

How is this written in VB.NET? How does the method signature change when returning a generic type?

View 2 Replies

Compile Error Unhandled Exception Of Type 'System.stackoverflowexception' Occurred

Jul 13, 2009

I am working on a multi-form code. For some reason, this randomly began happening just about the time I finished my code. The intial form loads just fine, but when I go to click on any of the selected buttons, the code crashes. and I get an unhandled exception of type 'System.stackoverflowexception' occured. I have checked for any subs calling subs that call subs and I don't have anything of that nature. It is breaking at the point that is bolded and underlined.

[Code]...

View 11 Replies

Variable Declared Inside A For Loop - Make This To A Compile Time Error?

Mar 27, 2012

Today I investigated a logical bug in our software and figured out that this is related to the way VB.NET thread variables inside a loop.Let's say I have the following code:

Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
For Each number As Integer In numbers
Dim isEven As Boolean

[code]....

The problem is that isEven is declared but not assigned.In this specific case, it would be correct to write dim isEven as Boolean = false but I haven't done this.In VB.NET, a variable that is declared inside a for loop keeps its value for the next itaration. This is by design: [URL]but this is also dangerous pitfall for programmers.

However, until now, I haven't been aware of this problem/behaviour. Until now.Most of our code base is C# anyway, which doesn't allow the use of an uninitialized variable, so there is no problem. But we have some legacy code that is written in VB.NET that we have to support. So the best thing would be to generate a warning or even an error in this specific case.But even with Option Explicit / Option Strict this does not generate a warning / an error.Is there a way make this a compile time error or maybe a way to check this with FxCop?

View 2 Replies

Inherit From A Generic Class Without Specifying A Type?

Apr 29, 2009

I have the following sample code in a VB.NET console application. It compiles and works, but feels like a hack. Is there a way to define EmptyChild so that it inherits from Intermediate(Of T As Class) without using the dummy EmptyClass?

Module Module1
Sub Main()
Dim Child1 = New RealChild()[code].....

The other way to do this would be to move the generic code out of the Base class and then create 2 Intermediate classes like this [code]...

Then RealChild would inherit from the generic Intermediate and EmptyChild would inherit from the non-generic Intermediate. My problem with that solution is that the Base class is in a separate assembly and I need to keep the code that handles the generic type in that assembly. And there is functionality in the Intermediate class that does not belong in the assembly with the Base class.

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved