public static FedKey CreateFedKey(FedKeyType fedkeytype, object value, Type type = null) { if (null != type && !_typeMap.ContainsKey(type)) { throw new ArgumentException("Type {0} is not a supported federation key type", type.Name); } if (value.GetType() == typeof(string)) { return(CreateFedKey(fedkeytype, (string)value)); } switch (fedkeytype) { case FedKeyType.fedkeytypeInt: return(new FedKey(Convert.ToInt32(value))); case FedKeyType.fedkeytypeBigInt: return(new FedKey(Convert.ToInt64(value))); case FedKeyType.fedkeytypeGuid: return(new FedKey((Guid)value)); case FedKeyType.fedkeytypeVarbin: return(new FedKey((System.Byte[])value)); default: return(null); } }
public static FedKey CreateFedKey(object value) { if (value == null) { return(null); } Type type = value.GetType(); if (!_typeMap.ContainsKey(type)) { throw new ArgumentException("Type {0} is not a supported federation key type", type.Name); } FedKeyType fedkeytype = _typeMap[type]; switch (fedkeytype) { case FedKeyType.fedkeytypeInt: return(new FedKey(Convert.ToInt32(value))); case FedKeyType.fedkeytypeBigInt: return(new FedKey(Convert.ToInt64(value))); case FedKeyType.fedkeytypeGuid: return(new FedKey((Guid)value)); case FedKeyType.fedkeytypeVarbin: return(new FedKey((System.Byte[])value)); default: return(null); } }
public static FedKey CreateFedKey(FedKeyType fedkeytype, string value) { switch (fedkeytype) { case FedKeyType.fedkeytypeInt: int ivalue; if (int.TryParse(value, out ivalue)) { return(new FedKey(ivalue)); } break; case FedKeyType.fedkeytypeBigInt: long lvalue; if (long.TryParse(value, out lvalue)) { return(new FedKey(lvalue)); } break; case FedKeyType.fedkeytypeGuid: Guid giudvalue; if (Guid.TryParse(value, out giudvalue)) { return(new FedKey(giudvalue)); } break; case FedKeyType.fedkeytypeVarbin: return(new FedKey(value.ToByteArray())); default: return(null); } return(null); }