diff --git a/lib/csharp/src/Protocol/TBinaryProtocol.cs b/lib/csharp/src/Protocol/TBinaryProtocol.cs
index 5df2021..2f2f4a1 100644
--- a/lib/csharp/src/Protocol/TBinaryProtocol.cs
+++ b/lib/csharp/src/Protocol/TBinaryProtocol.cs
@@ -12,7 +12,6 @@
 //  http://developers.facebook.com/thrift/using
 
 using System;
-using System.Collections.Generic;
 using System.Text;
 using Thrift.Transport;
 
diff --git a/lib/csharp/src/Protocol/TField.cs b/lib/csharp/src/Protocol/TField.cs
index 93c0738..bda1760 100644
--- a/lib/csharp/src/Protocol/TField.cs
+++ b/lib/csharp/src/Protocol/TField.cs
@@ -18,30 +18,34 @@
 {
 	public struct TField
 	{
+		private string name;
+		private TType type;
+		private short id;
+
 		public TField(string name, TType type, short id)
 			:this()
 		{
-			Name = name;
-			Type = type;
-			ID = id;
+			this.name = name;
+			this.type = type;
+			this.id = id;
 		}
 
 		public string Name
 		{
-			get;
-			set;
+			get { return name; }
+			set { name = value; }
 		}
 
 		public TType Type
 		{
-			get;
-			set;
+			get { return type; }
+			set { type = value; }
 		}
 
 		public short ID
 		{
-			get;
-			set;
+			get { return id; }
+			set { id = value; }
 		}
 	}
 }
diff --git a/lib/csharp/src/Protocol/TList.cs b/lib/csharp/src/Protocol/TList.cs
index ccce522..5e4fa39 100644
--- a/lib/csharp/src/Protocol/TList.cs
+++ b/lib/csharp/src/Protocol/TList.cs
@@ -18,23 +18,26 @@
 {
 	public struct TList
 	{
+		private TType elementType;
+		private int count;
+
 		public TList(TType elementType, int count)
 			:this()
 		{
-			ElementType = elementType;
-			Count = count;
+			this.elementType = elementType;
+			this.count = count;
 		}
 
 		public TType ElementType
 		{
-			get;
-			set;
+			get { return elementType; }
+			set { elementType = value; }
 		}
 
 		public int Count
 		{
-			get;
-			set;
+			get { return count; }
+			set { count = value; }
 		}
 	}
 }
diff --git a/lib/csharp/src/Protocol/TMap.cs b/lib/csharp/src/Protocol/TMap.cs
index a71e52a..4813027 100644
--- a/lib/csharp/src/Protocol/TMap.cs
+++ b/lib/csharp/src/Protocol/TMap.cs
@@ -18,30 +18,34 @@
 {
 	public struct TMap
 	{
+		private TType keyType;
+		private TType valueType;
+		private int count;
+
 		public TMap(TType keyType, TType valueType, int count)
 			:this()
 		{
-			KeyType = keyType;
-			ValueType = valueType;
-			Count = count;
+			this.keyType = keyType;
+			this.valueType = valueType;
+			this.count = count;
 		}
 
 		public TType KeyType
 		{
-			get;
-			set;
+			get { return keyType; }
+			set { keyType = value; }
 		}
 
 		public TType ValueType
 		{
-			get;
-			set;
+			get { return valueType; }
+			set { valueType = value; }
 		}
 
 		public int Count
 		{
-			get;
-			set;
+			get { return count; }
+			set { count = value; }
 		}
 	}
 }
diff --git a/lib/csharp/src/Protocol/TMessage.cs b/lib/csharp/src/Protocol/TMessage.cs
index 15dfce0..3818da0 100644
--- a/lib/csharp/src/Protocol/TMessage.cs
+++ b/lib/csharp/src/Protocol/TMessage.cs
@@ -18,30 +18,34 @@
 {
 	public struct TMessage
 	{
+		private string name;
+		private TMessageType type;
+		private int seqID;
+
 		public TMessage(string name, TMessageType type, int seqid)
 			:this()
 		{
-			Name = name;
-			Type = type;
-			SeqID = seqid;
+			this.name = name;
+			this.type = type;
+			this.seqID = seqid;
 		}
 
 		public string Name
 		{
-			get;
-			set;
+			get { return name; }
+			set { name = value; }
 		}
 
 		public TMessageType Type
 		{
-			get;
-			set;
+			get { return type; }
+			set { type = value; }
 		}
 
 		public int SeqID
 		{
-			get;
-			set;
+			get { return seqID; }
+			set { seqID = value; }
 		}
 	}
 }
diff --git a/lib/csharp/src/Protocol/TMessageType.cs b/lib/csharp/src/Protocol/TMessageType.cs
index 6e6ead7..d458d53 100644
--- a/lib/csharp/src/Protocol/TMessageType.cs
+++ b/lib/csharp/src/Protocol/TMessageType.cs
@@ -11,8 +11,6 @@
 //  http://developers.facebook.com/thrift/using
 
 using System;
-using System.Collections.Generic;
-using System.Text;
 
 namespace Thrift.Protocol
 {
diff --git a/lib/csharp/src/Protocol/TProtocol.cs b/lib/csharp/src/Protocol/TProtocol.cs
index 2702ad8..6e48fac 100644
--- a/lib/csharp/src/Protocol/TProtocol.cs
+++ b/lib/csharp/src/Protocol/TProtocol.cs
@@ -11,7 +11,6 @@
 //  http://developers.facebook.com/thrift/using
 
 using System;
-using System.Collections.Generic;
 using System.Text;
 using Thrift.Transport;
 
diff --git a/lib/csharp/src/Protocol/TProtocolException.cs b/lib/csharp/src/Protocol/TProtocolException.cs
index db38d88..f43a7cc 100644
--- a/lib/csharp/src/Protocol/TProtocolException.cs
+++ b/lib/csharp/src/Protocol/TProtocolException.cs
@@ -1,6 +1,4 @@
 using System;
-using System.Collections.Generic;
-using System.Text;
 
 namespace Thrift.Protocol
 {
diff --git a/lib/csharp/src/Protocol/TProtocolFactory.cs b/lib/csharp/src/Protocol/TProtocolFactory.cs
index 756bb5e..4e15bb1 100644
--- a/lib/csharp/src/Protocol/TProtocolFactory.cs
+++ b/lib/csharp/src/Protocol/TProtocolFactory.cs
@@ -10,8 +10,6 @@
 //  See accompanying file LICENSE or visit the Thrift site at:
 //  http://developers.facebook.com/thrift/using
 using System;
-using System.Collections.Generic;
-using System.Text;
 using Thrift.Transport;
 
 namespace Thrift.Protocol
diff --git a/lib/csharp/src/Protocol/TProtocolUtil.cs b/lib/csharp/src/Protocol/TProtocolUtil.cs
index a65ea0f..577182c 100644
--- a/lib/csharp/src/Protocol/TProtocolUtil.cs
+++ b/lib/csharp/src/Protocol/TProtocolUtil.cs
@@ -11,8 +11,6 @@
 //  http://developers.facebook.com/thrift/using
 
 using System;
-using System.Collections.Generic;
-using System.Text;
 
 namespace Thrift.Protocol
 {
diff --git a/lib/csharp/src/Protocol/TSet.cs b/lib/csharp/src/Protocol/TSet.cs
index 0bfc29e..cdf3849 100644
--- a/lib/csharp/src/Protocol/TSet.cs
+++ b/lib/csharp/src/Protocol/TSet.cs
@@ -18,23 +18,26 @@
 {
 	public struct TSet
 	{
+		private TType elementType;
+		private int count;
+
 		public TSet(TType elementType, int count)
 			:this()
 		{
-			ElementType = elementType;
-			Count = count;
+			this.elementType = elementType;
+			this.count = count;
 		}
 
 		public TType ElementType
 		{
-			get;
-			set;
+			get { return elementType; }
+			set { elementType = value; }
 		}
 
 		public int Count
 		{
-			get;
-			set;
+			get { return count; }
+			set { count = value; }
 		}
 	}
 }
diff --git a/lib/csharp/src/Protocol/TStruct.cs b/lib/csharp/src/Protocol/TStruct.cs
index 62f60fd..1a7d572 100644
--- a/lib/csharp/src/Protocol/TStruct.cs
+++ b/lib/csharp/src/Protocol/TStruct.cs
@@ -17,16 +17,18 @@
 {
 	public struct TStruct
 	{
+		private string name;
+
 		public TStruct(string name)
 			:this()
 		{
-			Name = name;
+			this.name = name;
 		}
 
 		public string Name
 		{
-			get;
-			set;
+			get { return name; }
+			set { name = value; }
 		}
 	}
 }
diff --git a/lib/csharp/src/Protocol/TType.cs b/lib/csharp/src/Protocol/TType.cs
index 257ac6b..5cc6178 100644
--- a/lib/csharp/src/Protocol/TType.cs
+++ b/lib/csharp/src/Protocol/TType.cs
@@ -11,8 +11,6 @@
 //  http://developers.facebook.com/thrift/using
 
 using System;
-using System.Collections.Generic;
-using System.Text;
 
 namespace Thrift.Protocol
 {
