BlobBlock
Represents a single block in a block blob.  It describes the block's ID and size. 
                using Azure.Core;
using Azure.Storage.Common;
using System;
using System.ComponentModel;
using System.Xml.Linq;
namespace Azure.Storage.Blobs.Models
{
    [CodeGenModel("Block")]
    public readonly struct BlobBlock : IEquatable<BlobBlock>
    {
        [CodeGenMember("Size")]
        public long SizeLong { get; }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public int Size {
            get {
                return checked((int)SizeLong);
            }
        }
        [CodeGenMember("Name")]
        public string Name { get; }
        internal BlobBlock(string name, long sizeLong)
        {
            Argument.AssertNotNull(name, "name");
            Name = name;
            SizeLong = sizeLong;
        }
        internal static BlobBlock DeserializeBlobBlock(XElement element)
        {
            string name = null;
            long sizeLong = 0;
            XElement xElement = element.Element("Name");
            if (xElement != null)
                name = (string)xElement;
            XElement xElement2 = element.Element("Size");
            if (xElement2 != null)
                sizeLong = (long)xElement2;
            return new BlobBlock(name, sizeLong);
        }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public bool Equals(BlobBlock other)
        {
            if (!StringComparer.Ordinal.Equals(Name, other.Name))
                return false;
            if (!Size.Equals(other.Size))
                return false;
            return true;
        }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public override bool Equals(object obj)
        {
            if (obj is BlobBlock)
                return Equals((BlobBlock)obj);
            return false;
        }
        [EditorBrowsable(EditorBrowsableState.Never)]
        public override int GetHashCode()
        {
            HashCodeBuilder hashCodeBuilder = default(HashCodeBuilder);
            if (Name != null)
                hashCodeBuilder.Add(Name, StringComparer.Ordinal);
            hashCodeBuilder.Add(Size);
            return hashCodeBuilder.ToHashCode();
        }
    }
}