2
Answers

4 sintax problems in C#: can you help?

Photo of qazzwsxedcrfv

qazzwsxedcrfv

20y
1.8k
1
1) how do you invoke a constructor *inside* some other consrtuctor class X{ public X(int i) {...} public X(int j, string s) { X(j); ... } //wont compile } 2) is it possible to define methods with default values à là C++? class X{ public X(int i) {...} public void abc(int j, int k=0, string s="") { ... } /* overloaded forms: public void abc(int j) { ... } public void abc(int j, int k) { ... } public void abc(int j, int k, string s) { ... } */ } 3) how do you run code as soon as a class is loaded? something like: class X{ static { //run as soon as the class is loaded int i=0; ... } public X(int i) {...} } 4) how to force the redefinition of a static method in a derivate class? //>>>>>abstract class to avoid instanciation public abstract class DataStorage { protected static IDbConnection cn; protected static DataStorage db; protected IDataReader dr; protected IDbCommand cmd; //create & ini cn HERE(provide a conn strin here!) //>>>>>abstract to force its redefinition in a derivate class - wont compile bc its static... protected static abstract bool IniciateConnection(); //create & ini dr, cmd, ... //>>>>>abstract to force its redefinition in a derivate class protected abstract void IniciateInstanceObjects(); private DataStorage() { //private to create singleton? IniciateInstanceObjects(); } public static DataStorage GetInstance() { if (cn==null) IniciateConnection(); db=new DataStorage(); return db; } //... } //here are the derivate classes with overriden méthods - static ones wont compile public class DataStorageMSA : DataStorage { protected static override bool IniciateConnection() { //compile error cn = new OleDbConnection(); cn.ConnectionString="Provider=..."; } protected override void IniciateInstanceObjects() { //create & ini dr,cmd,... dr = new OleDbDataReader(); cmd = new OleDbCommand(); } } public class DataStorageSQL : DataStorage { protected static override bool IniciateConnection() { //compile error cn = new SqlConnection(); cn.ConnectionString=""; } protected override void IniciateInstanceObjects() { //create & ini dr,cmd,... dr = new SqlDataReader(); cmd = new SqlCommand(); } } any help will be appreciated!...

Answers (2)

0
Photo of frostyraver
NA 20 0 15y
I know in c# you can do something like this

// If there is selected items do this
if (lisbox.items.selected != null)
{
// Code for your program here if the listbox is selected
}
// If there are no items selected then display this
else
{
 // Error display code here
}

You could maybe set up an error checker that way?
0
Photo of sara khatib
NA 3 0 16y
thank you for replaying my letter but: 1-customer.id is an interger value declare in my customer class 2-rd[0] only have single value from the stored procedure (select min(id) from customer ) the problem is when there is no data in the table it return Null i try to put all my code in TRY{} and CATCH{} but i doesnt work ,if you have ny idea to this setuation i need it very much in my project thanks again
0
Photo of frostyraver
NA 20 0 16y
I might be of some help....i'm still learning this feel free to correct me :D.

customer.id <= is this customer id an int?

=convert.toint32(rd[0].tostring) <= your trying to convert an array of customer ids to an int?

I'm not sure elaborate on this subject. If your seeing this message it's because you have a string value somewhere, you might need more converts or something.