문법에 관해 질문드립니다.

SqlBuider build = new SqlBuilder();
build.Build();

제가 Ctrol+ 마L클릭 해서 SqlBuilder를 추적해 들어갔습니다.

거기에 아래와같이 이런 구조로 되있는데요.
자기자신을 실행하고도 있고
자기자신타입으로 멤버메소드가 ;;;;

문법적으로 이해가 안되네요 ㅠㅠ

namespace SmartSql
{
    public class SmartSqlBuilder : IDisposable
    {
        public const string DEFAULT_ALIAS = "SmartSql";
        public const string DEFAULT_SMARTSQL_CONFIG_PATH = "SmartSqlMapConfig.xml";
        public SmartSqlBuilder();    // ----------------------- > 자기자신을 실행하고 있어요....
        public SmartSqlBuilder AddDeserializer(IDataReaderDeserializer deserializer);
        public SmartSqlBuilder AddFilter<TFilter>() where TFilter : IFilter, new();
        public SmartSqlBuilder AddFilter(IFilter filter);
        public SmartSqlBuilder AddMiddleware(IMiddleware middleware);
        public SmartSqlBuilder AddTypeHandler(TypeHandler typeHandler);
        public SmartSqlBuilder Build();
    }
}
1개의 좋아요

마L클릭이 혹시 마우스 좌클릭을 말씀하시는 건가요?

코드는 코드 블럭을 사용하시면 조금 더 보기 편할 거 같아요~

1개의 좋아요

class 생성자인데요.
이전에도 비슷한 질문을 하셨던것 같은데요.

아무래도 개발언어 공부를 하신적이 없거나 만약 하셨더라도 객체지향언어는 안하셨던것 같은데요.
c# 기초책을 한권 사서 한번이라도 처음부터 끝까지 보시는걸 강력하게 추천 드립니다.

4개의 좋아요

반환타입 없이 클래스명과 같은 이름으로 된 메소드는 생성자라 부릅니다. 전에도 아마 같은 질문 하셨던 거 같은데… 생성자를 알아보시면 될 거 같아요.

1개의 좋아요

그런데 생성자는 {} 로 열고 닫아야 하는거 아닌가요?
이 소스내에 생성자들은 {} 했던데 저건 딱봐도 그냥 () (메소드실행) 한거처럼 보여서 말입니다.

1개의 좋아요

이 글을 참고해보시면 좋을 것 같습니다.

2개의 좋아요

말씀하신걸로 봐서는 하셨던 언어가 자바스크립트, 파이썬같은 언어가 아닐까 싶은데요.
위의 언어 계열만 공부하셨던분은 때려죽여도 소스만 보고 이해 못합니다.

1개의 좋아요