public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { // Use the AddValue method to specify serialized values. info.AddValue("GrainId", GrainId.ToParsableString(), typeof(string)); if (GrainId.IsSystemTarget) { info.AddValue("SystemTargetSilo", SystemTargetSilo.ToParsableString(), typeof(string)); } var genericArg = genericArguments; if (String.IsNullOrEmpty(genericArg)) { genericArg = String.Empty; } info.AddValue("GenericArguments", genericArg, typeof(string)); }
/// <summary> Calculates a hash code for a grain reference. </summary> public override int GetHashCode() { return(SystemTargetSilo == null?GrainId.GetHashCode() : GrainId.GetHashCode() ^ SystemTargetSilo.GetHashCode()); }