Making Class Methods Instead Of Instance Methods In .NET?
Mar 29, 2010
I am not sure how clear my question is by the title, but I am trying to make Class methods instead of Instance methods in Visual Basic that way I don't have to waste memory and code creating temporary objects to execute methods that don't need instance variables.
I am not sure if you can do that in VB but I know you can in Objective-C by using either a "+" or "-" sign in front of the method declaration. And in C++ (at least I think, I can't remember) you put the static keyword or const keyword in front of the function.How would I do this in VB if it is possible? Or should I just make a separate set of functions that are not members of a class?
Do I have to instantiate description every time for different method? Or should I use static? Here's how I'm doing this now: What is the best way of handling this kind of situations. it seems that I repeat this line:Dim description As BLLDescription = New BLLDescription() without any good reasn.
Protected Sub Button8_Click(sender As Object, e As System.EventArgs) Handles Button8.Click Dim description As BLLDescription = New BLLDescription()
What is the purpose of using shared methods that return an instance of a class, as opposed to a constructor?
ie: in VB.net, the system.drawing.color class has shared method "FromArgb(int, int, int) as color". This is different from java's implementation which simply is a constructor that takes three ints. Why the decision to do one or the other?
I have a class which has various methods that I need to make public to only 1 other class. Is this possible? I don't want to make them public for everybody, just that 1 class.
public class CategoryRepository: RepositoryBase<Category>, ICategoryRepository { public CategoryRepository(IDatabaseFactory databaseFactory) : base(databaseFactory)
[Code]...
Does anyone has an idea what i should change to let it work and let my UserRepository use the methods in RepositoryBase while implementing the IUserRepository?
I am working with a vb program, but there is something strange on one of my .vb code pagewhen i put the "dot" afther the object name its dont show the methods availables for this objectbut on other vb code pages i can see it. but in this one no.for exmaplethis is a piece of code: Dim sb As New StringBuilder()
I want to extend the BitConverter class with an overload of ToString() that takes a parameter of type Char, representing a value delimiter.Why? By default, the ToString() call returns a string representation of a byte array, delimited by dash symbols. The signature does not allow you to specify a different delimiter, which I find very unfortunate.Now because this is not an instance type, or maybe because I'm overloading a shared method, I'm having a hard time finding the proper syntax to define my extension method.What am I doing wrong here, causing the overloads to not show up in IntelliSense:
Which always calls a method with no params or return. The idea is that the user of my object (transactional processing of business logic) inherits the base class adds in a load of private methods to fire. They then add these method names to a list in the order they would like them fired and the code above will take care of firing them.
It works fine with public methods but not with private or protected methods in the same class (Protected because I have some 'standard' pre built methods to add to the base class). Realistically I could make the methods public and be done with it but my inner nerd wont allow me to do so...
I am assuming this is a security feature. Is there a way to get around this or does anyone have any suggestions on how to proceed but keep my tasty, tasty visibility modifiers in tact?
(NOTE: ITS IN VB.NET but a C# Answer is fine if that is what you are comfortable with).
my question is simple. How do i add methods to the standard DataGridView control of VB.NET
I want to add some methods of my own to the class, but i tried inheritance and i get errors. What are the techniques out there to extend native classes in vb net
In this project I am making a grade calculator; I am modifying an existing code I have to have the following characteristics: I need to modify the DetermineGrade method so that it accepts the maximum number of points that can be earned on both tests (currently, the max number of points is 200: 100 points per test). For an A grade, the student must earn at least 90% of the total number of points. For a B, the student must earn at least 80%. For a C, at least 70%. For a D, at least 60%. If they earn less than 60% of the total points, then grade is F. Here is the exisint code I have for the DetermineGrade method specifically:
Public Sub DetermineGrade() Dim intTotal As Integer intTotal = _intScore1 + _intScore2
I have a class definition that I've seen other define properties that return collections of objects.
Public Property GetAllAdults() as Adults End Property I made the argument that this should be a method in the class, because it doesn't define an attribute of the class, and could not be extended with parameters. Is/Are there reasons why this should be defined as a property vs. a function?
I have a Public Class called "ClientConnection". Inside that class, I have a Public ReadOnly Property called "FileTransfers(ByVal TransferID)". The property returns an object of the class "FileTransfer". All methods in FileTransfer are set to public.
VS is able to discover the methods inside the parent class "ClientConnection". How would I expose the methods inside the sub-class "FileTransfer" that is returned by the property "FileTransfers(ByVal TransferID)"?
Public Class ClientConnection 'irreverent code removed Public ReadOnly Property FileTransfers(ByVal TransferID As Integer)
I have a database table called Job. I have mapped this table using LINQ to SQL so that I have a class called Job.
What I want to do is add some methods to the Job class. The Job class is defined in the LINQ to SQL classes .dbml file. So, in order to add methods, or anything else to the Job class what should I do?
Should I create a partial class named Job and define the methods in there? Will that then get mixed in properly? Not sure how to proceed on this one.
I have a function that 2 derived classes use, but the third doesn't, would it make sense to just leave it in the base class, even though one of the 3 derived classes doesn't use it?The only way I could think of disallowing the third class is to basically create an intermediate class that is derived of the base, then the 2 that use the common function are derived off the second class.
Is it possible to prevent the 3rd class from using the function, while letting the two that are supposed to use it, use it?Does that just seem to go overboard, I mean as long as I don't "try" to call the function from the 3rd class, it shouldn't be a problem, I just was interested if there was a way to prevent it all together without a lot of hassle.
Is it possible to iterate through the properties and methods of a custom class, getting the details about those properties and methods in the process.[code]....
I have a database table called Job. I have mapped this table using LINQ to SQL so that I have a class called Job.What I want to do is add some methods to the Job class. The Job class is defined in the LINQ to SQL classes .dbml file. So, in order to add methods, or anything else to the Job class what should I do?Should I create a partial class named Job and define the methods in there? Will that then get mixed in properly? Not sure how to proceed on this one.
I have a database table called Job. I have mapped this table using LINQ to SQL so that I have a class called Job.What I want to do is add some methods to the Job class. The Job class is defined in the LINQ to SQL classes .dbml file. So, in order to add methods, or anything else to the Job class what should I do?Should I create a partial class named Job and define the methods in there? Will that then get mixed in properly? Not sure how to proceed on this one.
I created a Class that inherits List(Of TKey, TValue) and adds a few functions. Its purpose is not to add items to it at runtime, but when it is initialized. I would actually like to remove the add/delete methods from the class (as it currently exposes them from the inherited class).
I have created a Interface and a couple classes that implement this Interface. I am in the process of developing a Shared Class that utilizes the functions that each of the individual classes have, due to the interface implementation.What i need to know is how do i develop this Shared Class so that way each of the methods within it are restricted to a single data type. This single data type needs to be restricted to any class that has implemented the Interface.
Some examples:
Public Interface IVector(Of T) Sub Add(ByVal v2 as T)
[code]....
As you can see it would allow me to develop one form, since i have standardized the required Subs/Functions for any class the implements the IVector interface. As i am still in developement, i was wondering if my current understanding of the method generics is correct in its current form or what i would have to do to make the Generic Shared Class work in the fashion that i am looking for in the example implementation.
I want to retrieve private (implementation and other) methods of a class which implements an interface and also is derived from (inherits) a base class.How can I achieve this using reflection?This is wat m tryin to do. I need to view these private methods and their contents, I don't want to invoke them.
Dim assembly As System.Reflection.Assembly Dim assemblyName As String assemblyName = System.IO.Path.GetFullPath("xyz.dll") assembly = System.Reflection.Assembly.LoadFile(assemblyName) assembly.GetType("myClass").Getmethods(Bindings.NonPublic) assembly.GetType("myClass").GetMethods(BindingFlags.NonPublic) isn't working
I will preface this by saying Im previously an asp developer and am learning oop programming/Vb.Net
Im working on a 3 tier architecture and trying to abstract my code as much as possible since I have a very large intranet to convert. In my business layer I am defining my classes with management methods. Below is an example of one of my classes.
My question: Is there a way for me to genericaly refer to the class type and object type so that I dont have to continualy refer to the class name/type "ServiceRequest" throughout the class. For example something like:
How should class member variables be used in combination with class methods?Let's say I have a class 'C' with a member variable 'someData'.I call C.getData(), which does not return a value but instead puts data in C.someData. The class that instantiated 'C' first calls C.getData and then uses the data by accessing the member variable C.someData.I call C.getData() in the class that instantiated 'C' which is a function that returns data.I myself prefer the second way. But it also depends on the situation and it's a small difference. Is it 'bad' to have class methods that depend on the classes internal state? What are the best conventions?
Whats the difference between these two initialization methods for obj? I've seen both of these, but know know if there is an appropriate time to use one vs the other. I found this post which covers C#, but not sure if the same applies to VB.Net.[code]
I have a method with a custom attribute that lists other methods in the same class that it can call. I'm passing the called method to another class function that will read the attribute and pick one of the methods named in the attribute and return it's delegate. I'm having a hard time figuring out how to do this with reflection or event if it is possible.
<AttributeUsage(AttributeTargets.Method, allowmultiple:=False)> Public Class ExecuteSimiliar Inherits System.Attribute
I am trying to figure out the best approach for setting and getting properties in a nested class I am creating. I have a class, Car which has a nested class ControlPanel and want to make the properties of the Control Panel only accessible to the Car and Control Panel class.
I'm not sure I used the right lingo in the subject header. But, here's what I want to do. Let's say I have a class with some variables:
Class XYZ Public InfoNo1 As Integer Public InfoStr1 As String = " ".PadRight(200) 'Hahaha Public InfoStr2 As String = " ".PadRight(100) End Class
I've been looking around for examples of writing methods that act on variables defined within the class. What I want to do is make it so that doing something like this:
[Code]...
I don't need to know how to write the method, I think I can do that. I need to now how to make the method cause a ".Fixed" option to be added to the class string variables so that assigning a string using that method will cause the variable itself to be equal to the string plus the padding.