ZengCode.Com (The Thai Php Framework)  


Home   Download   Manual   About us    

Facebook   


MAIN MENU
News
Php Tips
Spring+Strut+Hibernate
Android Programming
Design Pattern By PHP
Ubuntu
Linux Quick Tips
C# Design Pattern
C# using Linq น่าใช้จริงๆ
C# Tips & Technique
Java & JavaScript Tips
Database & SQL
ZengCode Framework Guide
Zeng Code Code
Programming
IPhone (Tips and Trick)

Download เอกสารที่น่าสนใจ

     C# Properties  (2009-11-04)

C# Properties

Our objectives are as follows:

  • Understand What Properties Are For.
  • Implement a Property.
  • Create a Read-Only Property.
  • Create a Write-Only Property.
  • Create an auto-implemented property.

Overview of Properties

Properties provide the opportunity to protect a field in a class by reading and writing to it through the property. In other languages, this is often accomplished by programs implementing specialized getter and setter methods. C# properties enable this type of protection while also letting you access the property just like it was a field.

Another benefit of properties over fields is that you can change their internal implementation over time. With a public field, the underlying data type must always be the same because calling code depends on the field being the same. However, with a property, you  can change the implementation. For example, if a customer has an ID that is originally stored as an int, you might have a requirements change that made you perform a validation to ensure that calling code could never set the ID to a negative value. If it was a field, you would never be able to do this, but a property allows you to make such a change without breaking code. Now, lets see how to use properties.

Traditional Encapsultation Without Properties

Languages that don't have properties will use methods (functions or procedures) for encapsultation. The idea is to manage the values inside of the object, state, avoiding corruption and misuse by calling code. Listing 10-1 demonstrates how this traditional method works, encapsulating Customer information via accessor methods.

Listing 10-1. An Example of Traditional Class Field Access
using System;

public class Customer
{
    private int m_id = -1;

    public int GetID()
    {
        return m_id;
    }

    public void SetID(int id)
    {
        m_id = id;
    }

    private string m_name = string.Empty;

    public string GetName()
    {
        return m_name;
    }

    public void SetName(string name)
    {
        m_name = name;
    }
}

public class CustomerManagerWithAccessorMethods
{
    public static void Main()
    {
        Customer cust = new Customer();

        cust.SetID(1);
        cust.SetName("Amelio Rosales");

        Console.WriteLine(
            "ID: {0}, Name: {1}",
            cust.GetID(),
            cust.GetName());

        Console.ReadKey();
    }
}

Listing 10-1 shows the traditional method of accessing class fields. The Customer class has four properties, two for each private field that the class encapsulates: m_id and m_name. As you can see, SetID and SetName assign a new values and GetID and GetName return values.

Observe how Main calls the SetXxx methods, which sets m_id to 1 and m_name to "Amelio Rosales" in the Customer instance, cust.  The call to Console.WriteLine demonstrates how to read m_id and m_name from cust, via GetID and GetName method calls, respectively.

This is such a common pattern, that C# has embraced it in the form of a language feature called properties, which you'll see in the next section.

Encapsulating Type State with Properties

The practice of accessing field data via methods was good because it supported the object-oriented concept of encapsulation. For example, if the type of m_id or m_name changed from an int type to byte, calling code would still work. Now the same thing can be accomplished in a much smoother fashion with properties, as shown in Listing 10-2.

Listing 10-2. Accessing Class Fields With Properties
using System;

public class Customer
{
    private int m_id = -1;

    public int ID
    {
        get
        {
            return m_id;
        }
        set
        {
            m_id = value;
        }
    }

    private string m_name = string.Empty;

    public string Name
    {
        get
        {
            return m_name;
        }
        set
        {
            m_name = value;
        }
    }
}

public class CustomerManagerWithProperties
{
    public static void Main()
    {
        Customer cust = new Customer();

        cust.ID = 1;
        cust.Name = "Amelio Rosales";

	Console.WriteLine(
            "ID: {0}, Name: {1}",
            cust.ID,
            cust.Name);

        Console.ReadKey();
    }
}

Listing 10-2 shows how to create and use a property. The Customer class has the ID and Name property implementations. There are also private fields named m_id and m_name; which ID and Name, respectively, encapsulate. Each property has two accessors, get and set. The accessor returns the value of a field. The set accessor sets the value of a field with the contents of value, which is the value being assigned by calling code. The value shown in the accessor is a C# reserved word.

When setting a property, just assign a value to the property as if it were a field. The CustomerManagerWithProperties class uses the ID and Name properties in the Customer class. The first line of Main instantiates a Customer object named cust. Next the value of the m_id and m_name fields of cust are set by using the ID and Name properties.

To read from a property, use the property as if it were a field. Console.WriteLine prints the value of the m_id and m_name fields of cust. It does this by calling the ID and Name properties of cust.

This was a read/write property, but you can also create read-only properties, which you'll learn about next.

Creating Read-Only Properties

Properties can be made read-only. This is accomplished by having only a get accessor in the property implementation. Listing 10-3 demonstrates how you can create a read-only property.

Listing 10-3. Read-Only Properties
using System;

public class Customer
{
    private int m_id = -1;
    private string m_name = string.Empty;

    public Customer(int id, string name)
    {
        m_id = id;
        m_name = name;
    }

    public int ID
    {
        get
        {
            return m_id;
        }
    }

    public string Name
    {
        get
        {
            return m_name;
        }
    }
}

public class ReadOnlyCustomerManager
{
    public static void Main()
    {
        Customer cust = new Customer(1, "Amelio Rosales");

        Console.WriteLine(
            "ID: {0}, Name: {1}",
            cust.ID,
            cust.Name);

        Console.ReadKey();
    }
}

The Customer class in Listing 10-3 has two read-only properties, ID and Name. You can tell that each property is read-only because they only have get accessors. At some time, values for the m_id and m_name must be assigned, which is the role of the constructor in this example.

The Main method of the ReadOnlyCustomerManager class instantiates a new Customer object named cust. The instantiation of cust uses the constructor of Customer class, which takes int and string type parameters. In this case, the values are 1 and "Amelio Rosales". This initializes the m_id and m_name fields of cust.

Since the ID and Name properties of the Customer class are read-only, there is no other way to set the value of the m_id and m_name fields. If you inserted cust.ID = 7 into the listing, the program would not compile, because ID is read-only; the same goes for Name. When the ID and Name properties are used in Console.WriteLine, they work fine. This is because these are read operations which only invoke the get accessor of the ID and Name properties.

One question you might have now is "If a property can be read-only, can it also be write-only?" The answer is yes, and explained in the next section.

Creating a Write-Only Property

You can assign values to, but not read from, a write-only property. A write-only property only has a set accessor. Listing 10-4 shows you how to create and use write-only properties.

Listing 10-4. Write-Only Properties
using System;

public class Customer
{
    private int m_id = -1;

    public int ID
    {
        set
        {
            m_id = value;
        }
    }

    private string m_name = string.Empty;

    public string Name
    {
        set
        {
            m_name = value;
        }
    }

    public void DisplayCustomerData()
    {
        Console.WriteLine("ID: {0}, Name: {1}", m_id, m_name);
    }
}

public class WriteOnlyCustomerManager
{
    public static void Main()
    {
        Customer cust = new Customer();

        cust.ID = 1;
        cust.Name = "Amelio Rosales";

        cust.DisplayCustomerData();

        Console.ReadKey();
    }
}

This time, the get accessor is removed from the ID and Name properties of the Customer class, shown in Listing 10-1. The set accessors have been added, assigning value to the backing store fields, m_id and m_name.

The Main method of the WriteOnlyCustomerManager class instantiates the Customer class with a default constructor. Then it uses the ID and Name properties of cust to set the m_id and m_name fields of cust to 1 and "Amelio Rosales", respectively. This invokes the set accessor of ID and Name properties from the cust instance.

When you have a lot of properties in a class or struct, there can also be a lot of code associated with those properties. In the next section, you'll see how to write properties with less code.

Creating Auto-Implemented Properties

The patterns you see here, where a property encapsulates a property with get and set accessors, without any other logic is common. It is more code than we should have to write for such a common scenario. That's why C# 3.0 introduced a new syntax for a property, called an auto-implemented property, which allows you to create properties without get and set accessor implementations. Listing 10-5 shows how to add auto-implemented properties to a class.

Listing 10-5. Auto-Impemented Properties
using System;

public class Customer
{
    public int ID { get; set; }
    public string Name { get; set; }
}

public class AutoImplementedCustomerManager
{
    static void Main()
    {
        Customer cust = new Customer();

        cust.ID = 1;
        cust.Name = "Amelio Rosales";

        Console.WriteLine(
            "ID: {0}, Name: {1}",
            cust.ID,
            cust.Name);

        Console.ReadKey();
    }
}

Notice how the get and set accessors in Listing 10-5 do not have implementations. In an auto-implemented property, the C# compiler creates the backing store field behind the scenes, giving the same logic that exists with traditional properties, but saving you from having to use all of the syntax of the traditional property. As you can see in the Main method, the usage of an auto-implemented property is exactly the same as traditional properties, which you learned about in previous sections.

Summary

You now know what properties are for and how they're used. Traditional techniques of encapsulation have relied on separate methods. Properties allow you to access objects state with field-like syntax. Properties can be made read-only or write-only. You also learned how to write properties with less code by using auto-implemented properties.

I invite you to return for Lesson 11:  Indexers.

Your feedback and constructive contributions are welcome.  Please feel free to contact me for feedback or comments you may have about this lesson.

Feedback

I like this site and want to support it! 

Copyright © 2000-2009 C# Station, All Rights Reserved

Ref : www.csharp-station.com/tutorials/Lesson10.aspx


Comment

weightlostsx  (03 กรกฎาคม 2553)   
IP : 67.189.128.177
Although workout and [url=http://netknowledgenow.com/members/aaaweightlossiuy.aspx ]montgomery alabama blogs on weight loss [/url] diet plan manage can support generally you need even more than that to get back in form. There can be a complete number of excess fat reduction supplements that come within the form of excess weight burner urge for food suppressants extra fat blockers and so on. But most of them can inflict severe and nasty side results. Not just this not everyone is truly fond of getting pills. Prime 2 [url=http://connect.nola.com/user/loseweightverdantailment3/index.html ]light beer calorie ratings [/url] Body weight Loss Supplements Pounds Loss Patches and Slimming Tea are a big craze amongst body weight watchers all over the world. Way more and even more many people are attempting out organic diet patches and slimming tea to lose unwanted weight quick and quick with no fearing any side side effects.Pounds Loss Patches are extremely easy to utilize. Not just this in addition they turn out to become considerably alot more economical as when compared with capsules. Further importantly a great good quality herbal patch doesn't have any aspect outcomes.No wonder these kinds of patches are honestly "hot" correct now! As a good deal as[url=http://connect.silive.com/user/weightlosdirtysynagogue7/index.html ]flat belly diet [/url] their effectiveness is concerned they provide very far improved outcomes as when compared with tablets. This really is mainly because they provide the substances via the skin pores straight into your bloodstream in which they are meant to become. As this sort of there's no wastage of elements on account of digestive fluids as will be the situation with [url=http://connect.nola.com/user/loseweightverdantailment3/index.html ]low carb sauce [/url] supplements. In situation of pills a higher percentage with the ingredients is destroyed through the digestive fluids. Hence you may need a greater dosage to produce the wanted effect. This also raises the odds of facet results.This really is clearly not the circumstance having a patch. Some belonging to the organic elements in such patches consist of gaurana yerba mate lecithin 5HTP fucus vesiculosus and so on. This sort of components increase your metabolic rate so that your system is improved equipped to burn weight. Not only this in addition they suppress your urge for food and be certain a massive reduce within your caloric intake resulting in quick body fat reduction. A great high quality patch can make you lose up to 6 lbs inside a week. SLIMMING TEA Individuals individuals who do not fancy products or patches [url=http://swienton.com/members/aaaweightlossiuy.aspx ]weight loss medicine online [/url] slimming tea will be the most beneficial option. One from the greatest part of this kind of tea is that it serves being a full healthiness tonic. Not only this you do not need to fear any section results. You will find lots of varieties of such tea but the best one can be a mix of high grade varieties which include pu-erh sencha and wuyi cliff oolong.These kinds of tea is extremely rich in antioxidants.This has two significant advantages: * Initial of all it aids flush [url=http://www.ecometro.com/Community/members/aaaweightlossiuy.aspx ]i have gall bladder disease and i have lost a lot of weight [/url] out toxins type your body system which aids boost your metabolism * Secondly it allows neutralize Free Radicals and lower age consequences. Such tea also suppresses [url=http://mcgeefamily.biz/members/aaaweightlossiuy.aspx ]dieting while on a cruise [/url] your hunger to ensure you consume less. This outcomes in natural pounds loss. So just by drinking a few cups each day you can shed excess fat rapidly. Not just this such tea also lowers your cholesterol and enhance your heart function. It also aids increase immunity and lessen tension which may be a major bane of contemporary living.


ordertramadolbki  (16 มิถุนายน 2553)   
IP : 72.52.65.8

drug test narcotics half life tramadol

tramadol overnight delivery online prescription

[url=http://iwebadv.com/ifeed/link/1469/forumpost/tramadol%20online/1/pharma][img]http://iwebadv.com/ifeed/img/1469/forumpost/tramadol%20online/1/pharma[/img][/url] [url=http://iwebadv.com/ifeed/link/1469/forumpost/tramadol%20online/2/pharma][img]http://iwebadv.com/ifeed/img/1469/forumpost/tramadol%20online/2/pharma[/img][/url] [url=http://iwebadv.com/ifeed/link/1469/forumpost/tramadol%20online/3/pharma][img]http://iwebadv.com/ifeed/img/1469/forumpost/tramadol%20online/3/pharma[/img][/url] [url=http://iwebadv.com/ifeed/link/1469/forumpost/tramadol%20online/4/pharma][img]http://iwebadv.com/ifeed/img/1469/forumpost/tramadol%20online/4/pharma[/img][/url] [url=http://iwebadv.com/ifeed/link/1469/forumpost/tramadol%20online/5/pharma][img]http://iwebadv.com/ifeed/img/1469/forumpost/tramadol%20online/5/pharma[/img][/url]









Related Searches: [url=http://comunidade.jovemempresario.com.br/profiles/blogs/canadian-pharmacy-xanax-xanax]information on side effects of tramadol[/url] [url=http://www.ecometro.com/Community/members/aaabxanax1.aspx]generic online prescription tramadol ultram[/url] [url=http://lacordafansite.ning.com/profiles/blogs/xanax-g3720-mg-health-care]buy ultram tramadol mg tablets[/url] [url=http://www.disabilityresourceexchange.com/profiles/blogs/severe-edema-and-xanax-413]tramadol 100 mg no prescription[/url] [url=http://claydamnetwork.ning.com/profiles/blogs/buspar-and-xanax-for-anxiety]what is tramadol hcl used for[/url] tramadol 180 tabs $99 free shipping information instructions patient tramadol ultracet bad side effects from tramadol buying ultram online tramadol total california mortgage rate buy tramadol is tramadol a blood thinner tramadol sales online pharmacies no prescription buy cheap tramadol 120 cod va mortgage loan rate tramadol online tramadol cod shipping to florida tramadol cheap free fed ex overnight hydrocodone apap and tramadol hcl compare tramadol overnight cash on delivery dosage tramadol in veterinary medicine commercial mortgage broker buy tramadol cheapest cod money order tramadol buy generic tramadol no prescription mallinckrodt pharmaceuticals tramadol hydrochloride tablets tramadol cheap free overnight fedex cheap cheap drug fiorcet tramadol tax preparation software buy tramadol which is stronger tramadol or percoset cat health tramadol on line will tramadol show up on a urine test tramadol orders cod delivery companies ic tramadol hcl acetaminophen par can tramadol effect bladder control round white an 627 tramadol hydrochloride tramadol or ultram or tramal withdr what is tramadol hcl 50mg sice effects of tramadol hcl tabs buy tramadol and xenical at jagtek tramadol meperidine pre employment drug screen cheap cod fedex tramadol very how many tramadols get you high tramadol in combination with oxycodone tramadol cheap free fedex overnight buy tramadol order cheap tramadol online long term side effects of tramadol book buy online tramadol viscacha how good is tramadol hydrochloride 50 mg contraindications information overdose tramadol ultracet ic tramadol hcl 50 mg tev tramadol online tramadol hcl tramadol cheap 200 tramadol overnight fedex cod does tramadol work for pe blog buy trackback tramadol url drug tramadol food and by the hit bg hydrocodone app and tramadol hcl compare pharmacy tech job buy tramadol 120 buy cheap tab tramadol tramadol hci effects on brain cod tramadol prescription tramadol tramadol online difference between tramadol from apotex and amne tramadol compared to other opiates does tramadol work for premature ejaculation buy hydrocodone tramadol free online consultation tramadol wikipedia the free encyclopedia ordering tramadol and shipping to florida tramadol pain management doctors torrance california tramadol test positive as an opiate buy tramadol cod pharmacy online cheap tramadol no prescription overnight buy card debit online phentermine tramadol what does the pill tramadol do tramadol pharmacy tech buy tramadol cheap cod online sold tramadol pharmacy tech online what is tramadol percocet vs percodan vs tramadol a dose for tramadol in dogs tramadol as step down for morphine drip tramadol without prescription overnight delivery tramadol vs vicodin and strength is tramadol good for a migraine buy tramadol online cod next day cheap drug prescription prilosec tramadol zyrtec book buy guest johnnie tramadol do not take tramadol with tylenol buy dream online pharmaceutical tramadol buy dream online pharmaceutical tramadol carisoprodol buy tramadol online without prescription second mortgage loan rate tramadol tramadol for coming off of opiates pictures of people on tramadol buy gaestebuch online php tramadol switch from vicodin to tramadol can you mix hydrocodone and tramadol is tramadol hcl a narcotic crushing tramadol for quick release tramadol no prescription with ups shipping long term damage from tramadol effect indication side toxic tramadol usage tramadol ultracet online accept paypal online pharmacy tramadol pharmacy prilosec does methadone effect tramadol euphoria where to find tramadol pain releiver tramadol cod imitrex diet pill what is tramadol hcl acetaminophen will tramadol show on drug tests can you take vicodin and tramadol together post office usps tramadol cheap ultram buy tramadol 180 free shipping ibuprofen pills difference tramadol pills tramadol cash on delivery cod tramadol hcl acetaminophen par information tramadol hcl acetaminophen par doses buy tramadol online overnight fedex delviery tramadol no rx visa onlt can you mix tramadol and soma tramadol pain medication for dogs tramadol hcl-acetaminophen par and weight loss tramadol cheap order before 3pm ultram overdose contraindications and information tramadol tramadol show up dot 3 test prescription medications medical fed ex tramadol tramadol without prescription free shipping tramadol with darvocet web md how long does tramadol stay in the body pharmacy tech online cheap tramadol flonase myonlinemeds biz tramadol zyrtec is tramadol safe to take drug interaction between amiodarone and tramadol does tramadol thin the blood tramadol 50 mg tablets comparisons quote car insurance buy tramadol side effects of tramadol hcl 50mg cheap tramadol online prescriptions zyrtec zyrtec will tramadol help backpain and headaches forums on people taking tramadol cheap cheap levitra tramadol ultram [url=http://shadoworldrecords.com/forum/viewtopic.php?p=299182]what does a tramadol look like[/url] [url=http://www.keytocanada.com/phpbb/viewtopic.php?f=2&t=175192]what is stronger tramadol or vicodens[/url] [url=http://culturenerve.com/forum/index.php?topic=87437]pharmacy tech online what is tramadol[/url] [url=http://kismetfilmstudyosu.com/forum/index.php?topic=2660]side effects of tramadol hcl[/url] [url=http://everythingzzen.ca/forum/index.php?topic=259868]ultracet tramadol hydrochloride acetaminophen side effects[/url]


bobrino19  (07 มิถุนายน 2553)   
IP : 173.211.141.233
[url=http://mipagina.univision.com/acquistoviagra/]acquisto viagra[/url] cheap discount india viagra [url=http://mipagina.univision.com/acquistocialis]acquisto cialis[/url] cialis doctors in maryland [url=http://mipagina.univision.com/acquistolevitra]acquisto levitra[/url] ditka sound clip levitra cialis [url=http://mipagina.univision.com/acheterviagra]acheter viagra[/url] the results of viagra [url=http://mipagina.univision.com/achetercialis]acheter cialis[/url] cialis bowel movements [url=http://mipagina.univision.com/acheterlevitra]acheter levitra[/url] levitra alternatives herbal supplement [url=http://mipagina.univision.com/comprarviagragenerica]comprar viagra[/url] viagra instuctions [url=http://mipagina.univision.com/comprarcialisgenerico]comprar cialis[/url] recreational use of cialis [url=http://mipagina.univision.com/comprarlevitragenerico]comprar levitra[/url] buy levitra wholesale .


bobrodzo24  (21 พฤษภาคม 2553)   
IP : 72.144.193.164
[url=http://propecia-online.espacioblog.com/]buy propecia online[/url] expiration propecia patent [url=http://zithromax.espacioblog.com/]buy zithromax online[/url] ear book by zithromax [url=http://kamagra-online.espacioblog.com/]buy kamagra online[/url] shop for buy kamagra the [url=http://lasix.espacioblog.com/]buy lasix online[/url] lasix scleroderma [url=http://xenical.espacioblog.com/]buy xenical online[/url] parasthesia with xenical [url=http://acquista-levitra.espacioblog.com/]acquista levitra[/url] iscount levitra [url=http://lexapro.espacioblog.com/]buy lexapro online[/url] lexapro pros and cons [url=http://blogs.clarin.com/disfunzioneerettile/acquista-levitra/]vendita levitra[/url] levitra bestellen [url=http://imitrex.espacioblog.com/]buy imitrex online[/url] stat imitrex pen dose [url=http://flomax.espacioblog.com/]buy flomax online[/url] no prescription flomax [url=http://blogs.clarin.com/disfunzioneerettile/acquisto-viagra/]acquisto viagra[/url] viagra users group [url=http://diflucan.espacioblog.com/]buy diflucan online[/url] toenail fungus diflucan [url=http://blogs.clarin.com/disfunzioneerettile/acquisto-cialis/]acquisto cialis[/url] cialis levitra compare [url=http://clomid.espacioblog.com/]buy clomid online[/url] two mature follicles on clomid [url=http://cipro.espacioblog.com/]buy cipro online[/url] herpes cipro [url=http://blogs.clarin.com/dysfonctionerectile/acheter-viagra/]acheter viagra[/url] kamagra viagra sildenafil site ebaycouk [url=http://accutane.espacioblog.com/]buy accutane online[/url] pictures of accutane babies [url=http://paxil-online.espacioblog.com/]buy paxil online[/url] fda paxil [url=http://viagra-super-active.espacioblog.com/]buy viagra super active[/url] viagra hypertension nitroglycerin [url=http://kamagra-oral-jelly.espacioblog.com/]buy kamagra oral jelly[/url] kamagra st lemon flavour [url=http://kamagra-soft.espacioblog.com/]buy kamagra soft[/url] kamagra oral jelly rapid heartbeat [url=http://cialis-super-active.espacioblog.com/]buy cialis super active[/url] cialis sveige [url=http://blogs.clarin.com/dysfonctionerectile/acheter-cialis/]acheter cialis[/url] cialis prescription drug stores yasmin [url=http://kamagra-online.espacioblog.com/]buy kamagra online[/url] cialis viagra on line .


paealos9  (23 เมษายน 2553)   
IP : 92.115.197.46
[url=http://paxil.imagekind.com/]buy paxil online[/url] paxil non prescription [url=http://viagra-super-active.imagekind.com/]viagra super active[/url] prizer viagra [url=http://kamagra-oral-jelly.imagekind.com/]kamagra oral jelly[/url] kamagra holland [url=http://caverta.imagekind.com/]buy caverta[/url] connecticut viagra caverta generic veega [url=http://intagra.imagekind.com/]buy intagra[/url] vioxx viagra celebrex [url=http://kamagra-soft.imagekind.com/]buy kamagra soft[/url] buy cheao cgeap kamagra uk viagra [url=http://lovegra.imagekind.com/]buy lovegra online[/url] viagra alternatives otc [url=http://vigora.imagekind.com/]buy vigora[/url] free online viagra pill sample [url=http://cialis-super-active.imagekind.com/]buy cialis super active[/url] buy cialis dream online pharmaceutical .


papandopolos  (16 เมษายน 2553)   
IP : 189.168.216.174
[url=http://propecia.imagekind.com/]buy propecia online[/url] propecia u tube [url=http://zithromax.imagekind.com/]buy zithromax online[/url] zithromax doses [url=http://kamagra.imagekind.com/]buy kamagra online[/url] buy kamagra from india [url=http://lasix.imagekind.com/]buy lasix online[/url] lasix and potassium ratio [url=http://xenical.imagekind.com/]buy xenical online[/url] buy online phentermine xenical purephentermine [url=http://buy-soma.imagekind.com/]buy soma online[/url] buy soma best pharmacy online [url=http://lexapro-online.imagekind.com/]buy lexapro online[/url] lexapro and kids [url=http://nolvadex.imagekind.com/]buy nolvadex online[/url] nolvadex no prescription canada [url=http://imitrex.imagekind.com/]buy imitrex online[/url] sale imitrex [url=http://flomax.imagekind.com/]buy flomax online[/url] flomax gout [url=http://celexa-online.imagekind.com/]buy celexa online[/url] celexa causes nocturia [url=http://diflucan.imagekind.com/]buy diflucan online[/url] diflucan levaquin [url=http://ultrampill.imagekind.com/]buy ultram online[/url] is ultram stronger than vicoden [url=http://clomid.yolasite.com/]buy clomid online[/url] rsh levels decrease during clomid challenge [url=http://cipro.yolasite.com/]buy cipro online[/url] cipro to treat bacterial vaginosis [url=http://silagra.yolasite.com/]buy silagra online[/url] weight loss penegra silagra cumwithuscom [url=http://accutane.yolasite.com/]buy accutane online[/url] accutane rash [url=http://amoxil.yolasite.com/]buy amoxil online[/url] amoxil dose [url=http://www.us.splinder.com/profile/paxil]buy paxil online[/url] paxil for 5 months [url=http://buy-xanax.imagekind.com/]buy xanax online[/url] viagra and xanax [url=http://buy-valium.imagekind.com/]buy valium online[/url] phenergan and valium [url=http://tramadolpill.mypublicsquare.com/]buy tramadol online[/url] online pharmacy tramadol pharmacy prilosec .


sandos43  (25 มีนาคม 2553)   
IP : 206.55.180.50
buy propecia online generic propecia names buy zithromax online zithromax food borne illness buy kamagra online free kamagra powered by vbulletin buy lasix online action of lasix buy xenical online buy drug satellite tv xenical buy soma online soma growing techniques buy lexapro online lexapro ambien reaction buy nolvadex online nolvadex gynecomastia mandeville buy imitrex online price of imitrex buy flomax online flomax cr 0.4 mg buy celexa online black cohosh celexa buy diflucan online diflucan rx-to-otc drug switches latam .

Name
Comment
Security CodeCAPTCHA Image

web hit counter

This page took 0.038939 seconds to load.