Click here to Skip to main content
15,921,959 members
Home / Discussions / C#
   

C#

 
GeneralRe: Need to understand work assigned to me Pin
nisss14-Dec-17 20:33
nisss14-Dec-17 20:33 
GeneralRe: Need to understand work assigned to me Pin
Gerry Schmitz14-Dec-17 22:48
mveGerry Schmitz14-Dec-17 22:48 
QuestionHTTP GET Pin
Member 1355170113-Dec-17 2:54
Member 1355170113-Dec-17 2:54 
AnswerRe: HTTP GET Pin
Richard Deeming13-Dec-17 3:06
mveRichard Deeming13-Dec-17 3:06 
GeneralRe: HTTP GET Pin
Member 1355170113-Dec-17 7:25
Member 1355170113-Dec-17 7:25 
QuestionC# interface Pin
Member 1212070811-Dec-17 1:23
Member 1212070811-Dec-17 1:23 
AnswerRe: C# interface Pin
Pete O'Hanlon11-Dec-17 1:27
mvePete O'Hanlon11-Dec-17 1:27 
QuestionVoting System in C# Pin
Member 1356906610-Dec-17 20:41
Member 1356906610-Dec-17 20:41 
AnswerRe: Voting System in C# Pin
Richard MacCutchan10-Dec-17 20:59
mveRichard MacCutchan10-Dec-17 20:59 
GeneralRe: Voting System in C# Pin
Member 1356906610-Dec-17 22:16
Member 1356906610-Dec-17 22:16 
GeneralRe: Voting System in C# Pin
Richard MacCutchan10-Dec-17 22:38
mveRichard MacCutchan10-Dec-17 22:38 
GeneralRe: Voting System in C# Pin
Pete O'Hanlon10-Dec-17 22:47
mvePete O'Hanlon10-Dec-17 22:47 
AnswerRe: Voting System in C# Pin
OriginalGriff10-Dec-17 23:32
mveOriginalGriff10-Dec-17 23:32 
GeneralRe: Voting System in C# Pin
Mycroft Holmes10-Dec-17 23:39
professionalMycroft Holmes10-Dec-17 23:39 
GeneralRe: Voting System in C# Pin
OriginalGriff10-Dec-17 23:43
mveOriginalGriff10-Dec-17 23:43 
GeneralRe: Voting System in C# Pin
phil.o11-Dec-17 18:02
professionalphil.o11-Dec-17 18:02 
QuestionGeneric type passed into method question Pin
User987439-Dec-17 20:44
professionalUser987439-Dec-17 20:44 
AnswerRe: Generic type passed into method question Pin
OriginalGriff9-Dec-17 22:32
mveOriginalGriff9-Dec-17 22:32 
The "bit in the middle" is the indicator that this is a Generic method, and allows you to specify a substitution name which identifies where the generic class type is needed. It doesn't have to be <T> - you can use any valid identifier:
private TypeOfClass DataConnection<TypeOfClass>(TypeOfClass db_conn_obj, int index_of_mydatafile)
    {
    return db_conn_obj;
    }
But the convention is to use "T" as the generic class name.
The trouble with that is I can happily pass any class type to your method:
var x = DataConnection("hello", 666);
And it will work - additionally, You can't use any of the fields, properties, or methods of your Connection, even if you pass an SqlConnection object.

The solution is to apply a constraint:
private T DataConnection<T>(T db_conn_obj, int index_of_mydatafile) where T: System.Data.Common.DbConnection
    {
    Console.WriteLine(db_conn_obj.ConnectionString);
    db_conn_obj.Open();
    return db_conn_obj;
    }
Which limits the classes you can pass to those derived from DbConnection (which includes SqlConnection, OleDbConnection, and so forth:
var x = DataConnection(new SqlConnection(), 666);
var y = DataConnection(new OleDbConnection(), 666);

Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!

QuestionRe: Generic type passed into method question Pin
User9874310-Dec-17 0:49
professionalUser9874310-Dec-17 0:49 
AnswerRe: Generic type passed into method question Pin
OriginalGriff10-Dec-17 0:57
mveOriginalGriff10-Dec-17 0:57 
GeneralRe: Generic type passed into method question Pin
User9874310-Dec-17 1:05
professionalUser9874310-Dec-17 1:05 
GeneralRe: Generic type passed into method question Pin
OriginalGriff10-Dec-17 1:49
mveOriginalGriff10-Dec-17 1:49 
AnswerRe: Generic type passed into method question Pin
Eddy Vluggen10-Dec-17 3:03
professionalEddy Vluggen10-Dec-17 3:03 
GeneralRe: Generic type passed into method question Pin
User9874310-Dec-17 18:41
professionalUser9874310-Dec-17 18:41 
GeneralRe: Generic type passed into method question Pin
Eddy Vluggen11-Dec-17 2:34
professionalEddy Vluggen11-Dec-17 2:34 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.