Search Results

Search found 1008 results on 41 pages for 'generics'.

Page 30/41 | < Previous Page | 26 27 28 29 30 31 32 33 34 35 36 37  | Next Page >

  • Why does this static factory method involving implied generic types, work?

    - by Cheeso
    Consider public class Tuple<T1, T2> { public Tuple(T1 v1, T2 v2) { V1 = v1; V2 = v2; } public T1 V1 { get; set; } public T2 V2 { get; set; } } public static class Tuple { // MAGIC!! public static Tuple<T1, T2> New<T1, T2>(T1 v1, T2 v2) { return new Tuple<T1, T2>(v1, v2); } } Why does the part labeled "MAGIC" in the above work? It allows syntax like Tuple.New(1, "2") instead of new Tuple<int, string>(1, "2"), but ... how and why? Why do I not need Tuple.New<int,string>(1, "2") ??

    Read the article

  • Why does Generic class signature requires specifying new() if type T needs instantiation ?

    - by this. __curious_geek
    I'm writing a Generic class as following. public class Foo<T> : where T : Bar, new() { public void MethodInFoo() { T _t = new T(); } } As you can see the object(_t) of type T is instantiated at run-time. To support instantiation of generic type T, language forces me to put new() in the class signature. I'd agree to this if Bar is an abstract class but why does it need to be so if Bar standard non-abstract class with public parameter-less constructor. compiler prompts following message if new() is not found. Cannot create an instance of the variable type 'T' because it does not have the new() constraint

    Read the article

  • C# determining generic type

    - by Chris Klepeis
    I have several templated objects that all implement the same interface: I.E. MyObject<datatype1> obj1; MyObject<datatype2> obj2; MyObject<datatype3> obj3; I want to store these objects in a List... I think I would do that like this: private List<MyObject<object>> _myList; I then want to create a function that takes 1 parameter, being a datatype, to see if an object using that datatype exists in my list.... sorta clueless how to go about this. In Pseudo code it would be: public bool Exist(DataType T) { return (does _myList contain a MyObject<T>?); }

    Read the article

  • scala 2.8 CanBuildFrom

    - by oxbow_lakes
    Following on from another question I asked, I wanted to understand a bit more about the Scala method TraversableLike[A].map whose signature is as follows: def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That Notice a few things about this method: it takes a function turning each A in the traversable into a B it returns That and takes an implicit argument of type CanBuildFrom[Repr, B, That] I can call this as follows: > val s: Set[Int] = List("Paris", "London").map(_.length) s: Set[Int] Set(5,6) What I cannot quite grasp is how the fact that That is bound to B (i.e. it is some collection of B's) is being enforced by the compiler. The type parameters look to be independent in both the signature above and in the signature of the trait CanBuildFrom itself: trait CanBuildFrom[-From, -Elem, +To] How is the scala compiler ensuring that That cannot be forced into something which does not make sense? > val s: Set[String] = List("Paris", "London").map(_.length) //will not compile EDIT - this question of course boils down to: How does the compiler decide what implicit CanBuildFrom objects are in scope for the call?

    Read the article

  • Using overloaded operator== in a generic function

    - by Dimitri C.
    Consider the following code: class CustomClass { public CustomClass(string value) { m_value = value; } public static bool operator==(CustomClass a, CustomClass b) { return a.m_value == b.m_value; } public static bool operator!=(CustomClass a, CustomClass b) { return a.m_value != b.m_value; } public override bool Equals(object o) { return m_value == (o as CustomClass).m_value; } public override int GetHashCode() { return 0; /* not needed */ } string m_value; } class G { public static bool enericFunction1<T>(T a1, T a2) where T : class { return a1.Equals(a2); } public static bool enericFunction2<T>(T a1, T a2) where T : class { return a1==a2; } } Now when I call both generic functions, one succeeds and one fails: var a = new CustomClass("same value"); var b = new CustomClass("same value"); Debug.Assert(G.enericFunction1(a, b)); // Succeeds Debug.Assert(G.enericFunction2(a, b)); // Fails Apparently, G.enericFunction2 executes the default operator== implementation instead of my override. Can anybody explain why this happens?

    Read the article

  • How can I define a constructor in an open generic type?

    - by Cort
    I am trying to create on open generic type that has a constructor to be used by derived types, but I either don't know how to do it or it is not possible -- not sure which. public struct DataType<T> : IDataType { private T myValue; private TypeState myState; private DataType<T>(T initialValue, TypeState state) { myValue = initialValue; myState = state; } } Any help much appreciated! Cort

    Read the article

  • How to convet DataTable to List on runtype with out existin class property [closed]

    - by shamim
    Work on VS2010 C#,Have one DataTable ,want to convert this DataTable to List Suppose: Table dt; On run time want to create similar field from a datatable and fill fields in List.There is no existing class for list properties. ListName=TableName List property name=Table column name List Property type=Table column type List items=Table rows Note: Recently work on EF.To fullfill my project requirement, need to give flexibility to use to input and execute ESQL at runtime .I don’t want to put this execute result on datatable or List ,want to put this result on list. List has no existing class and property,don’t want to convert DataTable on list Type:DataRow If have any query please ask,Thanks in advanced.

    Read the article

  • How to get all possible generic type in StructureMap?

    - by Soul_Master
    I just used StructureMap few days ago. I use StructureMap for collecting all validator class like the following code. public class BaseClassA {} public class ClassB : BaseClassA {} public class ClassC : BaseClassB {} public BaseClassAValidator : IValidator<BaseClassA>() {} In StructureMap, I only register IValidator interface for BaseClassAValidator class. But I want to get the same result when I call IValidator or IValidator that mean StructureMap should return IValidator where T is requested class or parent class of requested class. Is it possible? Or I need to manually call it.

    Read the article

  • Decrement all int values in Dictionary

    - by Jon
    I have a Dictionary<string,int> and I simply want to decrement the value in my dictionary by one. I have this but not sure if its best practice. foreach (KeyValuePair<string, int> i in EPCs) { EPCs[i.Key] = i.Value - 1; }

    Read the article

  • Is it possible in Scala to force the caller to specify a type parameter for a polymorphic method ?

    - by Alex Kravets
    //API class Node class Person extends Node object Finder { def find[T <: Node](name: String): T = doFind(name).asInstanceOf[T] } //Call site (correct) val person = find[Person]("joe") //Call site (dies with a ClassCast inside b/c inferred type is Nothing) val person = find("joe") In the code above the client site "forgot" to specify the type parameter, as the API writer I want that to mean "just return Node". Is there any way to define a generic method (not a class) to achieve this (or equivalent). Note: using a manifest inside the implementation to do the cast if (manifest != scala.reflect.Manifest.Nothing) won't compile ... I have a nagging feeling that some Scala Wizard knows how to use Predef.<:< for this :-) Ideas ?

    Read the article

  • How to return a value based on the type of the generic T

    - by Blankman
    I have a method like: public T Get<T>(string key) { } Now say I want to return "hello" if the type is a string, and 110011 if it is type int. how can I do that? typeof(T) doesn't seem to work. I ideally want to do a switch statement, and return something based on the Type of the generic (string/int/long/etc). Is this possible?

    Read the article

  • Generic collection class?

    - by Mark
    Is there anyway I can do this? class TSOC<TCollection, TValue> : ICollection<TValue>, INotifyCollectionChanged where TCollection : ICollection { private TCollection<TValue> collection; } It doesn't like my definition of collection. I'd prefer the definition to look like TSOC<TCollection> where the user can pass in List<int> or something, but then I need to pull out the "int" to know what interface to implement.

    Read the article

  • Generic object comparison diff routine

    - by MicMit
    The question stems from database tables comparison. Let's say we put left row in the instance Left and the right one into instance Right of the same type. And we'got many tables and respective types. How to implement more or less generic routine resulting in a collection of diffs e.g. propertyName , leftValue , rightValue for each such a pair of instances of the same type.

    Read the article

  • Why does my WCF service return and ARRAY instead of a List <T> ?

    - by user193189
    In the web servce I say public List<Customer> GetCustomers() { PR1Entities dc = new PR1Entities(); var q = (from x in dc.Customers select x).ToList(); return q; } (customer is a entity object) Then I generate the proxy when I add the service.. and in the reference.cd it say public wcf1.ServiceReference1.Customer[] GetCustomers() { return base.Channel.GetCustomers(); } WHY IS IT AN ARRAY? I asked for a List. help.

    Read the article

  • Call Generic method using runtime type and cast return object

    - by markpirvine
    I'm using reflection to call a generic method with a type determined at runtime. My code is as follows: Type tType = Type.GetType(pLoadOut.Type); MethodInfo method = typeof(ApiSerialiseHelper).GetMethod("Deserialise", new Type[] { typeof(string) }); MethodInfo generic = method.MakeGenericMethod(tType); generic.Invoke(obj, new object[] { pLoadOut.Data }); This works ok. However the generic.Invoke method returns an object, but what I would like is the type determined at runtime. Is this possible with this approach, or is there a better option? Mark

    Read the article

  • Generic type parameter naming convention for Java (with multiple chars)?

    - by chaper29
    In some interfaces i wrote I'd like to name generic type parameter with more than one character to make the code more readable. Something like.... Map<Key,Value> Instead of this... Map<K,V> But when it comes to methods, the type-parameters look like java-classes which is also confusing. public void put(Key key, Value value) This seems like Key and Value are classes. I found or thought of some notations, but nothing like a convention from sun or a general best-practice. Alternatives i guesed of or found... Map<KEY,VALUE> Map<TKey,TValue>

    Read the article

  • Generic Event Generator and Handler from User Supplied Types?

    - by JaredBroad
    I'm trying to allow the user to supply custom data and manage the data with custom types. The user's algorithm will get time synchronized events pushed into the event handlers they define. I'm not sure if this is possible but here's the "proof of concept" code I'd like to build. It doesn't detect T in the for loop: "The type or namespace name 'T' could not be found" class Program { static void Main(string[] args) { Algorithm algo = new Algorithm(); Dictionary<Type, string[]> userDataSources = new Dictionary<Type, string[]>(); // "User" adding custom type and data source for algorithm to consume userDataSources.Add(typeof(Weather), new string[] { "temperature data1", "temperature data2" }); for (int i = 0; i < 2; i++) { foreach (Type T in userDataSources.Keys) { string line = userDataSources[typeof(T)][i]; //Iterate over CSV data.. var userObj = new T(line); algo.OnData < typeof(T) > (userObj); } } } //User's algorithm pattern. interface IAlgorithm<TData> where TData : class { void OnData<TData>(TData data); } //User's algorithm. class Algorithm : IAlgorithm<Weather> { //Handle Custom User Data public void OnData<Weather>(Weather data) { Console.WriteLine(data.date.ToString()); Console.ReadKey(); } } //Example "user" custom type. public class Weather { public DateTime date = new DateTime(); public double temperature = 0; public Weather(string line) { Console.WriteLine("Initializing weather object with: " + line); date = DateTime.Now; temperature = -1; } } }

    Read the article

  • List of Lists of different types

    - by themarshal
    One of the data structures in my current project requires that I store lists of various types (String, int, float, etc.). I need to be able to dynamically store any number of lists without knowing what types they'll be. I tried storing each list as an object, but I ran into problems trying to cast back into the appropriate type (it kept recognizing everything as a List<String>). For example: List<object> myLists = new List<object>(); public static void Main(string args[]) { // Create some lists... // Populate the lists... // Add the lists to myLists... for (int i = 0; i < myLists.Count; i++) { Console.WriteLine("{0} elements in list {1}", GetNumElements(i), i); } } public int GetNumElements(int index) { object o = myLists[index]; if (o is List<int>) return (o as List<int>).Count; if (o is List<String>) // <-- Always true!? return (o as List<String>).Count; // <-- Returning 0 for non-String Lists return -1; } Am I doing something incorrectly? Is there a better way to store a list of lists of various types, or is there a better way to determine if something is a list of a certain type?

    Read the article

  • implict type cast in generic method

    - by bitbonk
    why do I get a compiler error in the following code stating: Cannot implicty convert type SpecialNode to T even though T must derive from NodeBase as I defined in the where clause and even though SpecialNode actually derived from NodeBase? public static T GetNode<T>() where T : NodeBase { if (typeof(T) == typeof(SpecialNode)) { return ThisStaticClass.MySpecialNode; // <-- compiler error } if (typeof(T) == typeof(OtherSpecialNode)) { return ThisStaticClass.MyOtherSpecialNode; // <-- compiler error } ... return default(T); }

    Read the article

< Previous Page | 26 27 28 29 30 31 32 33 34 35 36 37  | Next Page >