C\#MBG 확장 방법 라 이브 러 리 사용 에 대한 자세 한 설명

예전 에 Code Project 에서 글 을 봤 어 요.MBG Extensions Library 대체적으로 작가 가 자신 이 쓴 확장 방법 라 이브 러 리 를 소개 하고 있 습 니 다.내용 은 다음 과 같 습 니 다.인()

if (myString == "val1" ||
   myString == "val2" ||
   myString == "val3" ||
   myString == "val4" ||
   myString == "val5")
   {
      //Do something
   }
확장 방법 인 을 사용 하면 이렇게 쓸 수 있 습 니 다.

if (myString.In("val1",
"val2", "val3", "val4", "val5"))
{
   //Do something
}
Cool!In 예제 2:

bool found = false;
foreach (string s in myList)
{
   if (myString == s)
   {
      found = true;
      break;
   }
}
if (found)
{
   //Do something
}
In 확장 을 사용 하면 다음 과 같이 쓸 수 있 습 니 다.

if (myString.In(myList))
{
   //Do something
}
물론 저 는 개인 적 으로 my List.contain(my String)이 좋 습 니 다.string 형식 에서 만 In 을 사용 할 수 있다 면 틀 렸 습 니 다.저 자 는 In 을 Enum 에 도 사 용 했 습 니 다.예 를 들 어

public enum MyEnum
{
   MyValue1,
   MyValue2,
   MyValue3,
   MyValue4,
   MyValue5
}
In 확장 을 사용 하면 다음 과 같다.

MyEnum myEnum = MyEnum.MyValue1;
if (myEnum.In(MyEnum.MyValue2,
MyEnum.MyValue3, MyEnum.MyValue5))
{
   //Do Something
}
코드 는 cool 해 보이 지만 개인 적 으로 직관 적 이지 않 고 뜻 도 잘 표현 하지 못 했다 고 생각한다.구체 적 으로 무슨 뜻 인지 나 는 알 아차 리 지 못 했다.XmlSerialize()and XmlDeserialize()직렬 화:

employees.XmlSerialize("C:\\employees.xml");
반 직렬 화:

string xml = employees.XmlSerialize();
Employees employees = xml.XmlDeserialize<Employees>();
Repeat()작가 가 든 예 는:

string separatorLine = "------------------------------------------";
// Repeat
string separatorLine = '-'.Repeat(30);
이 예 는 적당 하지 않다 고 생각 합 니 다.왜냐하면 당신 은 new String('-',30)을 할 수 있 기 때 문 입 니 다.IsMultipleOf()

int i = 234;
if (i % 10 == 0){ }
//
if (i.IsMultipleOf(10)){}
역시 간단 해 보이 지만 실제로는 i%10==0 보다 못 하 다.
마지막 으로 한 마디 하 자 면 이 확장 라 이브 러 리 는 유용 할 수 있 지만 제3자 플러그 인 을 사용 하 는 것 은 항상 어느 정도 위험 에 직면 하고 있 습 니 다.잘 평가 해 야 할 지 모 르 겠 습 니 다.왜 작가 가 MBG 라 고 이름 을 지 었 는 지 MLGB 가 생각 납 니 다.

좋은 웹페이지 즐겨찾기